U3D_TobaccoWarehouseISMDTSy.../Assets/Scripts/YL/Fetchbox.cs

99 lines
3.9 KiB
C#

using System;
using System.Collections;
using UnityEngine;
using static InterfaceManager;
using DefaultNamespace;
using System.Collections.Generic;
using cakeslice;
public class Fetchbox : MonoBehaviour
{
/// <summary>
/// 获取箱子接口路径
/// </summary>
private string url;
/// <summary>
/// 烟箱子
/// </summary>
public GameObject box;
/// <summary>
/// 获取箱子接口
/// </summary>
public ShelfBoxModel shelfBoxModel = new ShelfBoxModel();
/// <summary>
/// 每个箱子的信息
/// </summary>
public List<Boxinformation> boxinformationList = new List<Boxinformation>();
private void Start()
{
url += Boxface;
StartCoroutine(Getstring(url, (data) =>
{
//Debug.Log(data);
Boxdata(data);
Debug.Log("调用l");
}));
}
/// <summary>
/// 解析箱子的数据
/// </summary>
public void Boxdata(string data)
{
if (data != null)
{
Debug.Log(data);
shelfBoxModel = JsonUtility.FromJson<ShelfBoxModel>(data);
for (int i = 0; i < shelfBoxModel.result.Count; i++)
{
GameObject Box = Instantiate(box);
Boxinformation boxinformation = Box.AddComponent<Boxinformation>();
//Outline outline = Box.AddComponent<Outline>();
//outline.color = 1;
//GameObject childbox = Box.transform.GetChild(0).gameObject;
//Outline putline2 = childbox.AddComponent<Outline>();
//putline2.color = 1;
string boxname = $"{shelfBoxModel.result[i].row}-{shelfBoxModel.result[i].column}-{shelfBoxModel.result[i].layer}";
//Debug.Log(boxname);
GameObject parentObject = GameObject.Find(boxname);
if (parentObject)
{
Box.transform.SetParent(parentObject.transform, false);
boxinformation.ID = shelfBoxModel.result[i].id;
boxinformation.type = shelfBoxModel.result[i].type;
boxinformation.locationId = shelfBoxModel.result[i].locationId;
boxinformation.description = shelfBoxModel.result[i].description;
boxinformation.locationState = shelfBoxModel.result[i].locationState;
boxinformation.storageState = shelfBoxModel.result[i].storageState;
boxinformation.layer = shelfBoxModel.result[i].layer;
boxinformation.row = shelfBoxModel.result[i].row;
boxinformation.column = shelfBoxModel.result[i].column;
boxinformation.specialFlag = shelfBoxModel.result[i].specialFlag;
boxinformation.palletNum = shelfBoxModel.result[i].palletNum;
boxinformation.itemType = shelfBoxModel.result[i].itemType;
boxinformation.isSpecial = shelfBoxModel.result[i].isSpecial;
//if (shelfBoxModel.result[i].
boxinformationList.Add(boxinformation);
if (shelfBoxModel.result[i].layer.Equals(1))
{
GameObject childbox = Box.transform.GetChild(0).gameObject;
MqttManager.Instance.firstbox.Add(childbox);
MqttManager.Instance.firstbox.Add(Box);
}
else
{
GameObject childbox = Box.transform.GetChild(0).gameObject;
MqttManager.Instance.secondbox.Add(childbox);
MqttManager.Instance.secondbox.Add(Box);
}
}
else
{
//Destroy(Box);
Debug.LogWarning($"未找到名为 {boxname} 的父对象。物体将被删除。");
}
}
}
}
}