1085 lines
43 KiB
C#
1085 lines
43 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using DefaultNamespace;
|
|
using DG.Tweening;
|
|
using HighlightPlus;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
using static InterfaceManager;
|
|
public class Conveyordata : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 输送机ID
|
|
/// </summary>
|
|
public string ID;
|
|
/// <summary>
|
|
/// 正转位置
|
|
/// </summary>
|
|
[Header("正传需要位移的位置")]
|
|
public Transform Pointforword;
|
|
/// <summary>
|
|
/// 反转位置
|
|
/// </summary>
|
|
[Header("正传判断箱子位置")]
|
|
public Transform Pointreversal;
|
|
/// <summary>
|
|
/// 提升机反转位置
|
|
/// </summary>
|
|
[Header("一层反转提升机位置")]
|
|
public Transform Liftreversal;
|
|
[Header("二层反转提升机位置")]
|
|
public Transform Liftreversal2;
|
|
[Header("反转判断箱子点位")]
|
|
public Transform Antipoint;
|
|
[Header("反转需要位移的位置")]
|
|
public Transform Antipoint2;
|
|
/// <summary>
|
|
/// 运动的速度
|
|
/// </summary>
|
|
public float Speed = 3.5f;
|
|
/// <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;
|
|
public void ConveyorData(Convoyorequipment convoyorequipment)
|
|
{
|
|
if (convoyorequipment.FaultFree == "False" && ID != "5421" && ID != "5424" && ID != "5427" && ID != "5430")
|
|
{
|
|
HighlightEffect highlightEffect = transform.GetComponent<HighlightEffect>();
|
|
highlightEffect.highlighted = true;
|
|
}
|
|
else if(convoyorequipment.FaultFree == "True" && ID != "5421" && ID != "5424" && ID != "5427" && ID != "5430")
|
|
{
|
|
HighlightEffect highlightEffect = transform.GetComponent<HighlightEffect>();
|
|
highlightEffect.highlighted = false;
|
|
}
|
|
if (ispcon)
|
|
{
|
|
int index = int.Parse(convoyorequipment.Id);
|
|
if (index < 5419 && ispcon)
|
|
{
|
|
if (index % 2 == 0)
|
|
{
|
|
if (index == 5404 || index == 5410 || index == 5412 || convoyorequipment.TaskNumber != "0" && convoyorequipment.ReverseRotation == "True")
|
|
{
|
|
if (Points.childCount == 1)
|
|
{
|
|
if (Points.GetChild(0).childCount == 1)
|
|
{
|
|
Reverseposition();
|
|
//Debug.Log("双数输送机反转" + convoyorequipment.Id);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("双数输送机" + convoyorequipment.Id);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
Forwardposition();
|
|
//Debug.Log("输送机正传" + convoyorequipment.Id);
|
|
}
|
|
}
|
|
}
|
|
else if (index > 5418 && index != 5421 && index != 5424 && index != 5427 && index != 5430 && ispcon)
|
|
{
|
|
if (convoyorequipment.TaskNumber != "0" && convoyorequipment.LowerBoxNumber != "0" && convoyorequipment.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("出库正转" + convoyorequipment.Id);
|
|
Forwardposition();
|
|
|
|
}
|
|
else if (convoyorequipment.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("出库反转" + convoyorequipment.Id);
|
|
|
|
Reverseposition2();
|
|
}
|
|
}
|
|
}
|
|
//初始化
|
|
if (convoyorequipment.BoxesNumber != "0" && !ispcon)
|
|
{
|
|
//Debug.Log("初始化输出机");
|
|
if (convoyorequipment.BoxesNumber == "2" && ID == "5430" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && ID == "5427" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement)
|
|
{
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && ID == "5424" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && ID == "5421" && !ispcon)
|
|
{
|
|
Hoistmovement hoistmovement = transform.GetComponent<Hoistmovement>();
|
|
if (hoistmovement.Floor == 1)
|
|
{
|
|
//Debug.Log("提升机初始化一层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos(convoyorequipment, hoistmovement.Downpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
else if (hoistmovement.Floor == 2)
|
|
{
|
|
//Debug.Log("提升机初始化二层");
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
IntiPos2(convoyorequipment, hoistmovement.UPpoint);
|
|
}
|
|
else
|
|
{
|
|
Boxquantity(2, Boxgame2, Points);
|
|
}
|
|
}
|
|
ispcon = true;
|
|
}
|
|
int index = int.Parse(convoyorequipment.Id);
|
|
if (index < 5419 && !ispcon)
|
|
{
|
|
if (index % 2 == 0)
|
|
{
|
|
if (ID == "5404")
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (ID == "5210")
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else if (ID == "5412")
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (convoyorequipment.BoxesNumber == "1" && !ispcon)
|
|
{
|
|
Boxquantity(int.Parse(convoyorequipment.BoxesNumber), Boxgame, Points);
|
|
ispcon = true;
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && !ispcon)
|
|
{
|
|
Boxquantity(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
ispcon = true;
|
|
}
|
|
}
|
|
}
|
|
else if (index % 2 != 0 && convoyorequipment.BoxesNumber == "2")
|
|
{
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
Init2(convoyorequipment);
|
|
ispcon = true;
|
|
}
|
|
else
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
}
|
|
}
|
|
else if (convoyorequipment.BoxesNumber == "2" && index > 5418 && !ispcon && index != 5421 && index != 5424 && index != 5427 && index != 5430)
|
|
{
|
|
if (convoyorequipment.LowerBoxNumber != "0")
|
|
{
|
|
Init2(convoyorequipment);
|
|
ispcon = true;
|
|
}
|
|
else
|
|
{
|
|
Boxquantity2(int.Parse(convoyorequipment.BoxesNumber), Boxgame2, Points);
|
|
//Debug.Log("出库没有颜色初始化");
|
|
ispcon = true;
|
|
}
|
|
}
|
|
}
|
|
ispcon = true;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 提升机里的异步反转
|
|
/// </summary>
|
|
public async UniTask Reverseposition2()
|
|
{
|
|
await UniTask.Delay(1000);
|
|
if (Antipoint)
|
|
{
|
|
if (Antipoint2.childCount == 0)
|
|
{
|
|
if (Antipoint.childCount > 0)
|
|
{
|
|
GameObject box = Antipoint.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Antipoint2.position, (Vector3.Distance(box.transform.position, Antipoint2.transform.position) / Speed)).SetEase(Ease.InOutQuad).OnComplete(() =>
|
|
{
|
|
//Debug.Log("正常反转");
|
|
box.transform.SetParent(Antipoint2);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("箱子等于空");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("不走反转");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("啥也不是");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 出库没有颜色箱子初始化
|
|
/// </summary>
|
|
/// <param name="box"></param>
|
|
/// <param name="game"></param>
|
|
/// <param name="point"></param>
|
|
public void Boxquantity2(int box, GameObject game, Transform point)
|
|
{
|
|
if (box == 1)
|
|
{
|
|
GameObject boxs = Instantiate(game, point);
|
|
boxs.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(boxs);
|
|
}
|
|
else
|
|
{
|
|
GameObject boxs = Instantiate(game, point);
|
|
boxs.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(boxs);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 出库有颜色箱子初始化
|
|
/// </summary>
|
|
/// <param name="box"></param>
|
|
/// <param name="game"></param>
|
|
/// <param name="point"></param>
|
|
public void Boxquantity(int box, GameObject game, Transform point)
|
|
{
|
|
if (box == 1)
|
|
{
|
|
GameObject boxs = Instantiate(game, point);
|
|
Renderer renderer = boxs.GetComponent<Renderer>();
|
|
if (renderer)
|
|
{
|
|
renderer.material = Specialkernelbox;
|
|
}
|
|
boxs.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(boxs);
|
|
}
|
|
else
|
|
{
|
|
GameObject boxs = Instantiate(game, point);
|
|
Renderer renderer = boxs.GetComponent<Renderer>();
|
|
Renderer renderer1 = boxs.transform.GetChild(0).GetComponent<Renderer>();
|
|
if (renderer && renderer1)
|
|
{
|
|
renderer.material = Specialkernelbox;
|
|
renderer1.material = Specialkernelbox;
|
|
}
|
|
boxs.transform.SetParent(point, false);
|
|
MqttManager.Instance.firstbox.Add(boxs);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 查看物体有几个箱子
|
|
/// </summary>
|
|
public void Viewbox(string boxid)
|
|
{
|
|
if (Antipoint.childCount == 1)
|
|
{
|
|
if (Antipoint.transform.GetChild(0).childCount > 0)
|
|
{
|
|
GameObject game = Antipoint.GetChild(0).gameObject;
|
|
ColourInit2(boxid, game);
|
|
}
|
|
else if (Antipoint.childCount == 1)
|
|
{
|
|
GameObject game = Antipoint.GetChild(0).gameObject;
|
|
ColourInit(boxid, game);
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 展示颜色
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
public void ColourInit(string boxid, GameObject box)
|
|
{
|
|
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>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Normalairbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Commonfruitbox;
|
|
}
|
|
}
|
|
break;
|
|
case "Box":
|
|
if (initdata.result[0].itemType == "EmptyBox")
|
|
{
|
|
Renderer renderer = box.GetComponent<Renderer>();
|
|
if (renderer != null)
|
|
{
|
|
renderer.material = Specialbox;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Renderer renderer2 = box.GetComponent<Renderer>();
|
|
if (renderer2 != null)
|
|
{
|
|
renderer2.material = Specialkernelbox;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
/// <summary>
|
|
/// 展示颜色
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
public void ColourInit2(string boxid, GameObject box)
|
|
{
|
|
string url = Tasknumber + boxid;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null)
|
|
{
|
|
//Debug.Log("初始化完成");
|
|
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;
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
/// <summary>
|
|
/// 初始化两个箱子
|
|
/// </summary>
|
|
private void Init2(Convoyorequipment boxid)
|
|
{
|
|
string url = Tasknumber + boxid.LowerBoxNumber;
|
|
StartCoroutine(Getstring(url, (data) =>
|
|
{
|
|
Initdata initdata = JsonUtility.FromJson<Initdata>(data);
|
|
if (initdata != null && Boxgame2)
|
|
{
|
|
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);
|
|
int index = int.Parse(boxid.Id);
|
|
if (index < 5419 && ispcon)
|
|
{
|
|
if (index / 2 == 0 && boxid.TaskNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
}
|
|
else if (index > 5418 && index != 5421 && index != 5424 && index != 5427 && index != 5430)
|
|
{
|
|
if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
// Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 一个箱子初始化
|
|
/// </summary>
|
|
private void Init(Convoyorequipment boxid)
|
|
{
|
|
string url = Tasknumber + boxid.TaskNumber;
|
|
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 = initdata.result[0].transferId;
|
|
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 (boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
else if (boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 正传运动
|
|
/// </summary>
|
|
public void Forwardposition()
|
|
{
|
|
if (Pointreversal.childCount > 0 && Pointreversal)
|
|
{
|
|
if (Pointforword.childCount == 0)
|
|
{
|
|
GameObject box = Pointreversal.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Pointforword.position, (Vector3.Distance(box.transform.position, Pointforword.transform.position) / Speed)).SetEase(Ease.InOutQuad).OnComplete(() =>
|
|
{
|
|
box.transform.SetParent(Pointforword);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 反转运动
|
|
/// </summary>
|
|
public void Reverseposition()
|
|
{
|
|
if (Antipoint)
|
|
{
|
|
if (Antipoint2.childCount == 0)
|
|
{
|
|
if (Antipoint.childCount > 0)
|
|
{
|
|
GameObject box = Antipoint.transform.GetChild(0).gameObject;
|
|
if (box != null)
|
|
{
|
|
box.transform.SetParent(null);
|
|
box.transform.DOMove(Antipoint2.position, (Vector3.Distance(box.transform.position, Antipoint2.transform.position) / Speed)).SetEase(Ease.InOutQuad).OnComplete(() =>
|
|
{
|
|
//Debug.Log("正常反转");
|
|
box.transform.SetParent(Antipoint2);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("箱子等于空");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("不走反转");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Debug.Log("啥也不是");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 提升机初始化一层位置
|
|
/// </summary>
|
|
public 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);
|
|
int index = int.Parse(boxid.Id);
|
|
if (index < 5419 && ispcon)
|
|
{
|
|
if (index / 2 == 0 && boxid.TaskNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
}
|
|
else if (index > 5418 && index != 5421 && index != 5424 && index != 5427 && index != 5430)
|
|
{
|
|
if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
/// <summary>
|
|
/// 提升机二层初始化位置
|
|
/// </summary>
|
|
/// <param name="boxid"></param>
|
|
/// <param name="point"></param>
|
|
public 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);
|
|
int index = int.Parse(boxid.Id);
|
|
if (index < 5419 && ispcon)
|
|
{
|
|
if (index / 2 == 0 && boxid.TaskNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
}
|
|
else if (index > 5418 && index != 5421 && index != 5424 && index != 5427 && index != 5430)
|
|
{
|
|
if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ForwardRotation == "True")
|
|
{
|
|
//Debug.Log("正转");
|
|
Forwardposition();
|
|
}
|
|
else if (boxid.TaskNumber != "0" && boxid.LowerBoxNumber != "0" && boxid.ReverseRotation == "True")
|
|
{
|
|
//Debug.Log("反转");
|
|
Reverseposition();
|
|
}
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
}
|