DeviceInfo_Item.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using TMPro;
  6. using LitJson;
  7. namespace GHZLangChao
  8. {
  9. public class DeviceInfo_Item : MonoBehaviour
  10. {
  11. private DeviceParameters DeviceParameter;
  12. public Transform currentPos;
  13. public DataItem item;
  14. public TMP_Text deviceName;
  15. public TMP_Text type;
  16. public TMP_Text model;
  17. public TMP_Text ip;
  18. [SerializeField] private Button DetailsBtn;
  19. private void Start()
  20. {
  21. DetailsBtn.onClick.AddListener(ClickDetails);
  22. }
  23. int i;
  24. public void Init(DeviceParameters DeviceParameter, int i, DataItem item)
  25. {
  26. this.DeviceParameter = DeviceParameter;
  27. this.i = i;
  28. this.item = item;
  29. deviceName.text = DeviceParameter.cabinetNumber;
  30. type.text = DeviceParameter.deviceType;
  31. model.text = DeviceParameter.deviceBrand;
  32. ip.text = DeviceParameter.managementIP;
  33. }
  34. public void InitNull()
  35. {
  36. SettingNull();
  37. }
  38. private void ClickDetails()
  39. {
  40. // DeviceParameter.deviceModel = "NetView400" + i;
  41. // Vector3 currentPos = transform.position; // 为了将详情面板移动到面前
  42. // 从后台获取UI详情
  43. JsonData data = new JsonData();
  44. data["cabinetNumber"] = DeviceParameter.cabinetNumber;
  45. data["u"] = DeviceParameter.u;
  46. // string jsondata = JsonConvert.SerializeObject(data);
  47. Debug.Log(data.ToJson());
  48. //BladeServerManager.Instance.devicetControl.Show();
  49. //BladeServerManager.Instance.devicetControl.transform.position = currentPos.position;
  50. //BladeServerManager.Instance.devicetControl.transform.eulerAngles = currentPos.eulerAngles;
  51. //BladeServerManager.Instance.devicetControl.UpdateData(DeviceParameter, item);
  52. StartCoroutine(HttpToolLangChao.Instance.SendHttp(HttpActionLang.bladeServer, data.ToJson(), BladeServerCallBack));
  53. // HttpLangChaoTool.Instance.Post(HttpLangChaoAction.bladeServer, jsondata, BladeServerCallBack);
  54. // item.gameObject.SetActive(false);
  55. }
  56. private void SettingNull()
  57. {
  58. DetailsBtn.interactable = false;
  59. transform.GetComponent<Image>().enabled = false;
  60. for (int i = 0; i < transform.childCount; i++)
  61. {
  62. transform.GetChild(i).gameObject.SetActive(false);
  63. }
  64. }
  65. private void BladeServerCallBack(string msg)
  66. {
  67. Debug.Log(msg);
  68. JObject json = JObject.Parse(msg);
  69. if (json["code"].ToString() == "200")
  70. {
  71. string data = json["data"]["list"][0].ToString();
  72. Debug.Log(data);
  73. this.DeviceParameter = JsonConvert.DeserializeObject<DeviceParameters>(data);
  74. Debug.Log(JsonConvert.SerializeObject(this.DeviceParameter));
  75. BladeServerManager.Instance.devicetControl.Show();
  76. BladeServerManager.Instance.devicetControl.transform.position = currentPos.position;
  77. BladeServerManager.Instance.devicetControl.transform.eulerAngles = currentPos.eulerAngles;
  78. BladeServerManager.Instance.devicetControl.UpdateData(this.DeviceParameter, this.item);
  79. // this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos, item)); // 触发事件,打开面板,更新数据
  80. }
  81. else
  82. {
  83. Debug.LogError(" 请求刀片机详情参数出错 !!! " );
  84. }
  85. }
  86. private void OnEnable()
  87. {
  88. //if (mQueueSystem == null)
  89. // mQueueSystem = this.GetService<IQueueSystem>();
  90. //mQueueSystem.Add(gameObject);
  91. }
  92. private void OnDestroy()
  93. {
  94. // mQueueSystem.Remove(gameObject);
  95. }
  96. }
  97. }