1239 lines
49 KiB
C#
1239 lines
49 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using DefaultNamespace;
|
|
using DG.Tweening;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using static InterfaceManager;
|
|
public class Warehousingdata : MonoBehaviour
|
|
{
|
|
[Header("设备ID")]
|
|
public string ID;
|
|
[Header("位移速度")]
|
|
private float Speed = 3.5f;
|
|
[Header("正传判断点位是否有箱子")]
|
|
public Transform Onschedule;
|
|
[Header("正转需要位移的点位")]
|
|
public Transform Onschedule2;
|
|
[Header("反转需要判断点位有箱子")]
|
|
public Transform Antipoint1;
|
|
[Header("反转需要位移的点位")]
|
|
public Transform Antipoint2;
|
|
[Header("提升机反转需要位移的点位")]
|
|
public Transform Reversing;
|
|
[Header("提升机反转需要位移点位2")]
|
|
public Transform Reversing2;
|
|
/// <summary>
|
|
/// 初始化判断
|
|
/// </summary>
|
|
private bool ispcon = false;
|
|
/// <summary>
|
|
/// 普通实箱
|
|
/// </summary>
|
|
public Material Commonfruitbox;
|
|
/// <summary>
|
|
/// 普通空箱
|
|
/// </summary>
|
|
public Material Normalairbox;
|
|
/// <summary>
|
|
/// 特殊实箱
|
|
/// </summary>
|
|
public Material Specialkernelbox;
|
|
/// <summary>
|
|
/// 特殊空箱
|
|
/// </summary>
|
|
public Material Specialbox;
|
|
/// <summary>
|
|
/// 一个箱子
|
|
/// </summary>
|
|
public GameObject Boxgame;
|
|
/// <summary>
|
|
/// 两个箱子
|
|
/// </summary>
|
|
public GameObject Boxgame2;
|
|
[Header("初始化位置")]
|
|
public Transform Points;
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
/// <summary>
|
|
/// 所有入库输送机设备初始化和操作
|
|
/// </summary>
|
|
/// <param name="convoyorequipment"></param>
|
|
public void Equipmentdata(Convoyorequipment convoyorequipment)
|
|
{
|
|
if (convoyorequipment.FaultFree == "False")
|
|
{
|
|
MqttManager.Instance.Highlight(convoyorequipment.Id);
|
|
}
|
|
else if (convoyorequipment.FaultFree == "True")
|
|
{
|
|
MqttManager.Instance.Highlight3(convoyorequipment.Id);
|
|
}
|
|
if (ispcon)
|
|
{
|
|
if (ID == "5103")
|
|
{
|
|
Changecolor(Points);
|
|
}
|
|
else if (ID == "5204")
|
|
{
|
|
Changecolor2(Points);
|
|
}
|
|
else if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && ID == "5236" && convoyorequipment.BoxesNumber != "0")
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
Colourdata2(convoyorequipment.LowerBoxNumber, hoistmovement.Downpoint);
|
|
//Debug.Log("提升机一层改颜色");
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
Colourdata2(convoyorequipment.LowerBoxNumber, hoistmovement.UPpoint);
|
|
//Debug.Log("提升机二层改颜色");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("没到指定位置不需要改变颜色");
|
|
}
|
|
if (ID == "5204")
|
|
{
|
|
if (convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5226")
|
|
{
|
|
if (Points.childCount == 1)
|
|
{
|
|
if (Points.GetChild(0).childCount == 1)
|
|
{
|
|
Intotheforword2(100);
|
|
}
|
|
}
|
|
}
|
|
else if (ID == "5237")
|
|
{
|
|
if (convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(200);
|
|
}
|
|
}
|
|
else if (ID == "5238")
|
|
{
|
|
if (convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5248")
|
|
{
|
|
if (convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5246" || ID == "5245" || ID == "5243" || ID == "5242" || ID == "5241" || ID == "5240")
|
|
{
|
|
if (convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(convoyorequipment.Id + "正传");
|
|
}
|
|
else if (convoyorequipment.ReverseRotation == "True")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(convoyorequipment.Id + "反传");
|
|
}
|
|
}
|
|
else if (convoyorequipment.Id != "5203" && convoyorequipment.Id != "5236" && convoyorequipment.ForwardRotation == "True" && convoyorequipment.TaskNumber != "0")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(convoyorequipment.Id + "正传");
|
|
}
|
|
else if (convoyorequipment.Id != "5203" && convoyorequipment.Id != "5236" && convoyorequipment.ReverseRotation == "True" && convoyorequipment.TaskNumber != "0")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(convoyorequipment.Id + "反传");
|
|
}
|
|
}
|
|
//初始化
|
|
if (convoyorequipment.BoxesNumber != "0" && !ispcon)
|
|
{
|
|
//Debug.Log("初始化输出机");
|
|
if (convoyorequipment.BoxesNumber != "0" && ID == "5203" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
//IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
Upmachine(convoyorequipment, Boxgame2, hoistmovement.Downpoint);
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
// IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
Upmachine(convoyorequipment, Boxgame2, hoistmovement.UPpoint);
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && convoyorequipment.BoxesNumber != "0" && ID == "5236" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && ID == "5249" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
int index = int.Parse(convoyorequipment.Id);
|
|
if (index > 5102 && index < 5108 && !ispcon && index != 5203)
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame, Points);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame2, Points);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (index > 5200 && index < 5217 && !ispcon)
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine(convoyorequipment, Boxgame, Points);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine(convoyorequipment, Boxgame2, Points);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (index > 5218 && index < 5236 && !ispcon)
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame, Points);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame2, Points);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (index > 5236 && index < 5239 && !ispcon)
|
|
{
|
|
if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Init(convoyorequipment);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Init2(convoyorequipment);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (index > 5239 && index < 5252 && !ispcon && index != 5249)
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame, Points);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
//Debug.Log("入库初始化箱子" + convoyorequipment.Id);
|
|
Upmachine2(convoyorequipment, Boxgame2, Points);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
public void Posboxs(float index, Transform point)
|
|
{
|
|
if (index == 1)
|
|
{
|
|
if (point.childCount > 0)
|
|
{
|
|
if (Onschedule.childCount == 0)
|
|
{
|
|
GameObject box = point.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Onschedule.position, (Vector3.Distance(box.transform.position, Onschedule.transform.position) / Speed)).SetEase(Ease.InOutQuad).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Onschedule);
|
|
//Debug.Log("5236正传");
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("前面有箱子不能正转");
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (point.childCount > 0)
|
|
{
|
|
if (Onschedule2.childCount == 0)
|
|
{
|
|
GameObject box = point.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Onschedule2.position, (Vector3.Distance(box.transform.position, Onschedule2.transform.position) / Speed)).SetEase(Ease.InOutQuad).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Onschedule2);
|
|
//Debug.Log("5236正传");
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("前面有箱子不能正转");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 改变箱子颜色
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
public void Colourdata(string boxid)
|
|
{
|
|
if (Onschedule.childCount > 0)
|
|
{
|
|
GameObject box = Onschedule.GetChild(0).gameObject;
|
|
string url = Tasknumber + boxid;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null)
|
|
{
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
//Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
//if (renderer1 != null)
|
|
//{
|
|
// renderer1.material = Normalairbox;
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
// Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
//if (renderer3 != null)
|
|
//{
|
|
// renderer3.material = Commonfruitbox;
|
|
//}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
//Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
//if (renderer1 != null)
|
|
//{
|
|
// renderer1.material = Specialbox;
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
//Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
//if (renderer3 != null)
|
|
//{
|
|
// renderer3.material = Specialkernelbox;
|
|
//}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//Debug.Log("给箱子添加对应的颜色");
|
|
}
|
|
}));
|
|
}
|
|
|
|
}
|
|
private void Colourdata2(string boxid, Transform point)
|
|
{
|
|
if (point.childCount > 0)
|
|
{
|
|
GameObject box = point.GetChild(0).gameObject;
|
|
string url = Tasknumber + boxid;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null)
|
|
{
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
boxtasknumber.ID = boxid;
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Normalairbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Commonfruitbox;
|
|
}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Specialbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Specialkernelbox;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//Debug.Log("给箱子添加对应的颜色");
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
private void Init2(Convoyorequipment boxid)
|
|
{
|
|
string url = Tasknumber + boxid.LowerBoxNumber;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null && Boxgame2)
|
|
{
|
|
//Debug.Log("初始化完成");
|
|
GameObject box = Instantiate(Boxgame2, transform);
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
boxtasknumber.ID = boxid.LowerBoxNumber;
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Normalairbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Commonfruitbox;
|
|
}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Specialbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Specialkernelbox;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//box.gameObject.transform.localEulerAngles = new Vector3(90, 0, 0);
|
|
//box.gameObject.transform.position = new Vector3(box.transform.position.x, box.transform.position.y + 1.3f, box.transform.position.z);
|
|
box.gameObject.transform.SetParent(Points, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
if (ID == "5204")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5226")
|
|
{
|
|
if (Points.childCount == 1)
|
|
{
|
|
if (Points.GetChild(0).childCount == 1)
|
|
{
|
|
Intotheforword2(100);
|
|
}
|
|
}
|
|
}
|
|
else if (ID == "5237")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(200);
|
|
}
|
|
}
|
|
else if (ID == "5238")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5248")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5246" || ID == "5245" || ID == "5243" || ID == "5242" || ID == "5241" || ID == "5240")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(boxid.Id + "正传");
|
|
}
|
|
else if (boxid.ReverseRotation == "True")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(boxid.Id + "反传");
|
|
}
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ForwardRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(boxid.Id + "正传");
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ReverseRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(boxid.Id + "反传");
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
|
|
private void Init(Convoyorequipment boxid)
|
|
{
|
|
string url = Tasknumber + boxid.LowerBoxNumber;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null && Boxgame)
|
|
{
|
|
GameObject box = Instantiate(Boxgame, transform);
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
boxtasknumber.ID = boxid.LowerBoxNumber;
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
//Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
//if (renderer1 != null)
|
|
//{
|
|
// renderer1.material = Normalairbox;
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
// Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
//if (renderer3 != null)
|
|
//{
|
|
// renderer3.material = Commonfruitbox;
|
|
//}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
//Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
//if (renderer1 != null)
|
|
//{
|
|
// renderer1.material = Specialbox;
|
|
//}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
//Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
//if (renderer3 != null)
|
|
//{
|
|
// renderer3.material = Specialkernelbox;
|
|
//}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//box.gameObject.transform.localEulerAngles = new Vector3(90, 0, 0);
|
|
//box.gameObject.transform.position = new Vector3(box.transform.position.x, box.transform.position.y + 0.65f, box.transform.position.z);
|
|
box.gameObject.transform.SetParent(Points, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
if (ID == "5204")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5226")
|
|
{
|
|
if (Points.childCount == 1)
|
|
{
|
|
if (Points.GetChild(0).childCount == 1)
|
|
{
|
|
Intotheforword2(100);
|
|
}
|
|
}
|
|
}
|
|
else if (ID == "5237")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(200);
|
|
}
|
|
}
|
|
else if (ID == "5238")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5248")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword2(1000);
|
|
}
|
|
}
|
|
else if (ID == "5246"||ID =="5245"|| ID == "5243"|| ID == "5242"|| ID == "5241"|| ID == "5240")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(boxid.Id + "正传");
|
|
}
|
|
else if (boxid.ReverseRotation == "True")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(boxid.Id + "反传");
|
|
}
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ForwardRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(boxid.Id + "正传");
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ReverseRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(boxid.Id + "反传");
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
public async UniTask Intotheforword2(int index)
|
|
{
|
|
await UniTask.Delay(index);
|
|
if (Onschedule.childCount > 0)
|
|
{
|
|
if (Onschedule2.childCount == 0)
|
|
{
|
|
GameObject box = Onschedule.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Onschedule2.position, (Vector3.Distance(box.transform.position, Onschedule2.transform.position) / Speed)).SetEase(Ease.Linear).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Onschedule2);
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("前面有箱子不能正转");
|
|
}
|
|
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 正传点位
|
|
/// </summary>
|
|
public async UniTask Intotheforword()
|
|
{
|
|
if (Onschedule.childCount > 0)
|
|
{
|
|
if (Onschedule2.childCount == 0)
|
|
{
|
|
GameObject box = Onschedule.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Onschedule2.position, (Vector3.Distance(box.transform.position, Onschedule2.transform.position) / Speed)).SetEase(Ease.Linear).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Onschedule2);
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("前面有箱子不能正转");
|
|
}
|
|
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 反转点位需要判断
|
|
/// </summary>
|
|
public async UniTask Tothereversal()
|
|
{
|
|
if (Antipoint1)
|
|
{
|
|
if (Antipoint1.childCount > 0)
|
|
{
|
|
if (Antipoint2.childCount == 0)
|
|
{
|
|
//Debug.Log("可以反转");
|
|
GameObject box = Antipoint1.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
//Debug.Log("获取到反转箱子");
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Antipoint2.position, (Vector3.Distance(box.transform.position, Antipoint2.transform.position) / Speed)).SetEase(Ease.Linear).OnComplete(() =>
|
|
{
|
|
//Debug.Log("反转完成");
|
|
box.transform.SetParent(Antipoint2);
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("反转输送机上有东西不能运动");
|
|
}
|
|
}
|
|
}
|
|
else if (transform.GetComponent<Hoistmovement>() != null)
|
|
{
|
|
//Debug.Log("提升机反转");
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Downpoint.transform.childCount > 0 && Reversing)
|
|
{
|
|
//Debug.Log("反转第一层");
|
|
GameObject box = hoistmovement.Downpoint.transform.GetChild(0).gameObject;
|
|
if (box)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Reversing.position, (Vector3.Distance(box.transform.position, Reversing.position) / Speed)).SetEase(Ease.Linear).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Reversing);
|
|
});
|
|
}
|
|
}
|
|
else if (hoistmovement.UPpoint.transform.childCount > 0 && Reversing2)
|
|
{
|
|
//Debug.Log("反转第二层");
|
|
GameObject box = hoistmovement.UPpoint.transform.GetChild(0).gameObject;
|
|
if (box)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Reversing2.position, (Vector3.Distance(box.transform.position, Reversing2.position) / Speed)).SetEase(Ease.Linear).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Reversing2);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("没有反转条件");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 提升机点位二层
|
|
/// </summary>
|
|
/// <param name="convoyorequipment"></param>
|
|
/// <param name="uPpoint"></param>
|
|
private void IntiPos2(Convoyorequipment boxid, Transform point)
|
|
{
|
|
string url = Tasknumber + boxid.LowerBoxNumber;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null && Boxgame2)
|
|
{
|
|
GameObject box = Instantiate(Boxgame2, point);
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
boxtasknumber.ID = boxid.LowerBoxNumber;
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Normalairbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Commonfruitbox;
|
|
}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Specialbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Specialkernelbox;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//box.gameObject.transform.localEulerAngles = new Vector3(90, 0, 0);
|
|
//box.gameObject.transform.position = new Vector3(box.transform.position.x, box.transform.position.y + 1.3f, box.transform.position.z);
|
|
box.gameObject.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
}
|
|
}));
|
|
}
|
|
/// <summary>
|
|
/// 提升机点位一层
|
|
/// </summary>
|
|
/// <param name="convoyorequipment"></param>
|
|
/// <param name="downpoint"></param>
|
|
private void IntiPos(Convoyorequipment boxid, Transform point)
|
|
{
|
|
string url = Tasknumber + boxid.LowerBoxNumber;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null && Boxgame2)
|
|
{
|
|
GameObject box = Instantiate(Boxgame2, point);
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
boxtasknumber.ID = boxid.LowerBoxNumber;
|
|
switch (initdata.result[0].palletType)
|
|
{
|
|
case "QBox":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Normalairbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Commonfruitbox;
|
|
}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Specialbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
Renderer renderer3 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
if (renderer3 != null)
|
|
{
|
|
renderer3.material = Specialkernelbox;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//box.gameObject.transform.localEulerAngles = new Vector3(90, 0, 0);
|
|
//box.gameObject.transform.position = new Vector3(box.transform.position.x, box.transform.position.y + 1.3f, box.transform.position.z);
|
|
box.gameObject.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
}
|
|
}));
|
|
}
|
|
/// <summary>
|
|
/// 初始化没有颜色的箱子
|
|
/// </summary>
|
|
public void Upmachine(Convoyorequipment boxid, GameObject game, Transform point)
|
|
{
|
|
GameObject box = Instantiate(game, point);
|
|
box.gameObject.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
if (ID == "5204")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5226")
|
|
{
|
|
if (Points.childCount == 1)
|
|
{
|
|
if (Points.GetChild(0).childCount == 1)
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
}
|
|
else if (ID == "5237")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5238")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (ID == "5248")
|
|
{
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ForwardRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Intotheforword();
|
|
//Debug.Log(boxid.Id + "正传");
|
|
}
|
|
else if (boxid.Id != "5203" && boxid.Id != "5236" && boxid.ReverseRotation == "True" && boxid.TaskNumber != "0")
|
|
{
|
|
Tothereversal();
|
|
//Debug.Log(boxid.Id + "反传");
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// 初始化有箱子颜色
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
/// <param name="game"></param>
|
|
/// <param name="point"></param>
|
|
public void Upmachine2(Convoyorequipment boxid, GameObject game, Transform point)
|
|
{
|
|
GameObject box = Instantiate(game, point);
|
|
box.gameObject.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(box);
|
|
if (box.transform.childCount == 1)
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer)
|
|
{
|
|
renderer.material = Specialkernelbox;
|
|
}
|
|
if (renderer1)
|
|
{
|
|
renderer1.material = Specialkernelbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
if (renderer)
|
|
{
|
|
renderer.material = Specialkernelbox;
|
|
}
|
|
}
|
|
if (boxid.ForwardRotation == "True")
|
|
{
|
|
Intotheforword();
|
|
}
|
|
else if (boxid.ReverseRotation == "True")
|
|
{
|
|
Tothereversal();
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// 5103箱子颜色实箱
|
|
/// </summary>
|
|
public void Changecolor(Transform point)
|
|
{
|
|
if (point.childCount == 1)
|
|
{
|
|
GameObject box = point.transform.GetChild(0).gameObject;
|
|
if (box)
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
renderer.material = Specialkernelbox;
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 5205箱子颜色变成空
|
|
/// </summary>
|
|
/// <param name="point"></param>
|
|
public void Changecolor2(Transform point)
|
|
{
|
|
if (point.childCount > 0)
|
|
{
|
|
GameObject box = point.transform.GetChild(0).gameObject;
|
|
Boxtasknumber boxtasknumber = box.GetComponent<Boxtasknumber>();
|
|
if (boxtasknumber != null)
|
|
{
|
|
boxtasknumber.ID = null;
|
|
}
|
|
if (box)
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
Renderer renderer1 = box.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
if (renderer1 != null)
|
|
{
|
|
renderer1.material = Specialbox;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|