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; /// /// 初始化判断 /// private bool ispcon = false; /// /// 普通实箱 /// public Material Commonfruitbox; /// /// 普通空箱 /// public Material Normalairbox; /// /// 特殊实箱 /// public Material Specialkernelbox; /// /// 特殊空箱 /// public Material Specialbox; /// /// 一个箱子 /// public GameObject Boxgame; /// /// 两个箱子 /// public GameObject Boxgame2; [Header("初始化位置")] public Transform Points; void Start() { } /// /// 所有入库输送机设备初始化和操作 /// /// 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(); 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(); 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(); 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(); 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("前面有箱子不能正转"); } } } } /// /// 改变箱子颜色 /// /// 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(data); if (initdata != null) { switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); //Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } //if (renderer1 != null) //{ // renderer1.material = Normalairbox; //} } else { Renderer renderer2 = box.GetComponent(); // Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } //if (renderer1 != null) //{ // renderer1.material = Specialbox; //} } else { Renderer renderer2 = box.GetComponent(); //Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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(data); if (initdata != null) { Boxtasknumber boxtasknumber = box.GetComponent(); boxtasknumber.ID = boxid; switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } if (renderer1 != null) { renderer1.material = Normalairbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } if (renderer1 != null) { renderer1.material = Specialbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); if (renderer2 != null) { renderer2.material = Specialkernelbox; } if (renderer3 != null) { renderer3.material = Specialkernelbox; } } break; default: break; } //Debug.Log("给箱子添加对应的颜色"); } })); } } /// /// 初始化 /// /// private void Init2(Convoyorequipment boxid) { string url = Tasknumber + boxid.LowerBoxNumber; StartCoroutine(Getstring(url, (data) => { Initdata initdata = JsonUtility.FromJson(data); if (initdata != null && Boxgame2) { //Debug.Log("初始化完成"); GameObject box = Instantiate(Boxgame2, transform); Boxtasknumber boxtasknumber = box.GetComponent(); boxtasknumber.ID = boxid.LowerBoxNumber; switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } if (renderer1 != null) { renderer1.material = Normalairbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } if (renderer1 != null) { renderer1.material = Specialbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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(data); if (initdata != null && Boxgame) { GameObject box = Instantiate(Boxgame, transform); Boxtasknumber boxtasknumber = box.GetComponent(); boxtasknumber.ID = boxid.LowerBoxNumber; switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); //Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } //if (renderer1 != null) //{ // renderer1.material = Normalairbox; //} } else { Renderer renderer2 = box.GetComponent(); // Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } //if (renderer1 != null) //{ // renderer1.material = Specialbox; //} } else { Renderer renderer2 = box.GetComponent(); //Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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("前面有箱子不能正转"); } } } /// /// 正传点位 /// 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("前面有箱子不能正转"); } } } /// /// 反转点位需要判断 /// 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() != null) { //Debug.Log("提升机反转"); Hoistmovement hoistmovement = transform.GetComponent(); 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("没有反转条件"); } } /// /// 提升机点位二层 /// /// /// private void IntiPos2(Convoyorequipment boxid, Transform point) { string url = Tasknumber + boxid.LowerBoxNumber; StartCoroutine(Getstring(url, (data) => { Initdata initdata = JsonUtility.FromJson(data); if (initdata != null && Boxgame2) { GameObject box = Instantiate(Boxgame2, point); Boxtasknumber boxtasknumber = box.GetComponent(); boxtasknumber.ID = boxid.LowerBoxNumber; switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } if (renderer1 != null) { renderer1.material = Normalairbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } if (renderer1 != null) { renderer1.material = Specialbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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); } })); } /// /// 提升机点位一层 /// /// /// private void IntiPos(Convoyorequipment boxid, Transform point) { string url = Tasknumber + boxid.LowerBoxNumber; StartCoroutine(Getstring(url, (data) => { Initdata initdata = JsonUtility.FromJson(data); if (initdata != null && Boxgame2) { GameObject box = Instantiate(Boxgame2, point); Boxtasknumber boxtasknumber = box.GetComponent(); boxtasknumber.ID = boxid.LowerBoxNumber; switch (initdata.result[0].palletType) { case "QBox": if (initdata.result[0].itemType == "EmptyBox") { Renderer renderer = box.GetComponent(); Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Normalairbox; } if (renderer1 != null) { renderer1.material = Normalairbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } if (renderer1 != null) { renderer1.material = Specialbox; } } else { Renderer renderer2 = box.GetComponent(); Renderer renderer3 = box.transform.GetChild(0).GetComponent(); 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); } })); } /// /// 初始化没有颜色的箱子 /// 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 + "反传"); } } /// /// 初始化有箱子颜色 /// /// /// /// 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 renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer) { renderer.material = Specialkernelbox; } if (renderer1) { renderer1.material = Specialkernelbox; } } else { Renderer renderer = box.GetComponent(); if (renderer) { renderer.material = Specialkernelbox; } } if (boxid.ForwardRotation == "True") { Intotheforword(); } else if (boxid.ReverseRotation == "True") { Tothereversal(); } } /// /// 5103箱子颜色实箱 /// public void Changecolor(Transform point) { if (point.childCount == 1) { GameObject box = point.transform.GetChild(0).gameObject; if (box) { Renderer renderer = box.GetComponent(); renderer.material = Specialkernelbox; } } } /// /// 5205箱子颜色变成空 /// /// public void Changecolor2(Transform point) { if (point.childCount > 0) { GameObject box = point.transform.GetChild(0).gameObject; Boxtasknumber boxtasknumber = box.GetComponent(); if (boxtasknumber != null) { boxtasknumber.ID = null; } if (box) { Renderer renderer = box.GetComponent(); Renderer renderer1 = box.transform.GetChild(0).GetComponent(); if (renderer != null) { renderer.material = Specialbox; } if (renderer1 != null) { renderer1.material = Specialbox; } } } } }