소스 검색

提交最新数据

wartheking 6 달 전
부모
커밋
330e325ede

+ 7 - 15
Assets/Prefabs/UI/Item/3D_ZhaZhanItem.prefab

@@ -306,7 +306,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_Texture: {fileID: 0}
+  m_Texture: {fileID: 2800000, guid: b82302b0c71448541af765c53f77e05b, type: 3}
   m_UVRect:
     serializedVersion: 2
     x: 0
@@ -538,17 +538,9 @@ MonoBehaviour:
   idText: {fileID: 3584424707877181578}
   updateTimeText: {fileID: 1873568582120804413}
   _data:
-    creat_by: 
-    creat_time: 
-    del_flag: 
-    gate_breakdown: 0
-    gate_mode: 0
-    gate_open: 0
-    gate_opening: 0
-    gate_power: 0
-    record_id: 0
-    record_ts: 0
-    sensor_id: 0
-    sensor_type: 0
-    update_by: 
-    update_time: 
+    GateNumber: 0
+    IsOpen: 0
+    CurrentFlow: 0
+    CurrentOpening: 0
+    Status: 0
+    updateTime: 

+ 3 - 1
Assets/Prefabs/UI/SWFZ/ZMJK.prefab

@@ -11268,6 +11268,8 @@ MonoBehaviour:
   zhaMenKaiDu: {fileID: 5061406331996290437}
   guoZhaLiuLiang: {fileID: 9099390435680256858}
   shuiweiChart: {fileID: 643139369441244097}
+  _zmSearchInputField: {fileID: 6744885183358372171}
+  currentZMDataList: []
 --- !u!1 &4463901847923660319
 GameObject:
   m_ObjectHideFlags: 0
@@ -18661,7 +18663,7 @@ MonoBehaviour:
   m_HandleRect: {fileID: 7625981591886958950}
   m_Direction: 2
   m_Value: 0
-  m_Size: 1
+  m_Size: 0.81333333
   m_NumberOfSteps: 0
   m_OnValueChanged:
     m_PersistentCalls:

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 98 - 1
Assets/Scene 1.unity


+ 3 - 1
Assets/Scripts/HttpHelper.cs

@@ -78,7 +78,7 @@ public class HttpHelper : MonoBehaviour
             InitGCYWData1(0);
         }
 
-        if (GlobalData.pageIndex == PageIndex.Page2)
+        if (GlobalData.pageIndex == PageIndex.Page1 || GlobalData.pageIndex == PageIndex.Page2 || GlobalData.pageIndex == PageIndex.Page3)
         {
             Debug.Log("HttpInitFloorGateData");
             InitFloorGateData();
@@ -175,6 +175,7 @@ public class HttpHelper : MonoBehaviour
                 if (codeToken.ToString() == "200")
                 {
                     GlobalData.alertData = JsonConvert.DeserializeObject<AlertData>(dataToken.ToString());
+                    GlobalData.alertData.success = true;
                 }
                 else
                 {
@@ -227,6 +228,7 @@ public class HttpHelper : MonoBehaviour
                 if (codeToken.ToString() == "200")
                 {
                     GlobalData.floorGateData = JsonConvert.DeserializeObject<FloodGateStatusData>(dataToken.ToString());
+                    GlobalData.floorGateData.success = true;
                 }
                 else
                 {

+ 4 - 4
Assets/Scripts/UI/Item/ZhaZhanItem.cs

@@ -12,15 +12,15 @@ public class ZhaZhanItem : MonoBehaviour
     public Text idText;
     public Text updateTimeText;
 
-    public SensorData _data;
+    public FloodGate _data;
 
-    public void SetData(SensorData data,string itemName)
+    public void SetData(FloodGate data,string itemName)
     {
         _name = itemName;
         _data = data;
         nameText.text = _name;
         posText.text = "坐标:<color=#FFFFFF>未知</color>";
-        idText.text = $"编码:<color=#FFFFFF>{ _data.sensor_id.ToString()}</color>";
-        updateTimeText.text =$"更新日期:<color=#FFFFFF>{ _data.update_time}</color>";
+        idText.text = $"编码:<color=#FFFFFF>{ _data.GateNumber.ToString()}</color>";
+        updateTimeText.text =$"更新日期:<color=#FFFFFF>{ _data.updateTime}</color>";
     }
 }

+ 14 - 5
Assets/Scripts/UI/UIView/3D/SPJKLayer.cs

@@ -1,9 +1,11 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Threading.Tasks;
 using UnityEngine;
 using UnityEngine.UI;
-
+using UnityAsync;
+using WaitUntil = UnityAsync.WaitUntil;
 public class SPJKLayer : MonoBehaviour
 {
     public GameObject spjkItemOri;
@@ -18,9 +20,18 @@ public class SPJKLayer : MonoBehaviour
 
   
 
-    void Start()
+    async void Start()
     {
-        
+        InitObsData();
+
+        _obsSearchInputField.onValueChanged.AddListener(SearchObsItem);
+    }
+
+    private async Task InitObsData() {
+        await new WaitUntil(() =>
+        {
+            return GlobalData.obsDatas.Count > 0;
+        });
         ObsData[] obs = GlobalData.obsDatas.ToArray();
         for (int i = 0; i < obs.Length; i++)
         {
@@ -29,8 +40,6 @@ public class SPJKLayer : MonoBehaviour
             currentObsDataList.Add(tempItem);
         }
         countText.text = $"监控列表 (<color=#FFFFFF>{obs.Length}</color>)";
-        
-        _obsSearchInputField.onValueChanged.AddListener(SearchObsItem);
     }
     
     public void SearchObsItem(string s_name)

+ 60 - 11
Assets/Scripts/UI/UIView/3D/ZMJKLayer.cs

@@ -1,8 +1,11 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Threading.Tasks;
 using UnityEngine;
 using UnityEngine.UI;
+using UnityAsync;
+using WaitUntil = UnityAsync.WaitUntil;
 using XCharts.Runtime;
 
 public class ZMJKLayer : MonoBehaviour
@@ -22,6 +25,10 @@ public class ZMJKLayer : MonoBehaviour
 
     public BarChart shuiweiChart;
 
+    public InputField _zmSearchInputField;
+
+    public List<ZhaZhanItem> currentZMDataList = new List<ZhaZhanItem>();
+
     private void Awake()
     {
         closeButton.onClick.AddListener(() =>
@@ -37,22 +44,64 @@ public class ZMJKLayer : MonoBehaviour
     }
 
     // Start is called before the first frame update
-    void Start()
+    async void Start()
     {
-        for (int i = 0; i < GlobalData.buYuanSensorData.data.Count; i++)
+        InitFloorGateData();
+
+        _zmSearchInputField.onValueChanged.AddListener(SearchObsItem);
+    }
+
+    async Task InitFloorGateData() {
+        await new WaitUntil(() =>
+        {
+            return GlobalData.floorGateData.success;
+        });
+        for (int i = 0; i < GlobalData.floorGateData.BuYuan.FloodGates.Length; i++)
         {
-           ZhaZhanItem tempItem= Instantiate(ZhaZhanItemOri, itemContent).GetComponent<ZhaZhanItem>();
-           tempItem.SetData(GlobalData.buYuanSensorData.data[i],$"补元闸门-{i+1}");
-           tempItem.gameObject.GetComponent<Button>().onClick.AddListener(() =>
-           {
-               gongChengPanel.SetActive(true);
-               zhaZhanMingCheng.text = tempItem._name;
-           });
+            ZhaZhanItem tempItem = Instantiate(ZhaZhanItemOri, itemContent).GetComponent<ZhaZhanItem>();
+            tempItem.SetData(GlobalData.floorGateData.BuYuan.FloodGates[i], $"补元闸门-{i + 1}");
+            tempItem.gameObject.GetComponent<Button>().onClick.AddListener(() =>
+            {
+                StaticLod.instance.OnFoucusStatic("BuYuan");
+                gongChengPanel.SetActive(true);
+                zhaZhanMingCheng.text = tempItem._name;
+            });
+            currentZMDataList.Add(tempItem);
         }
-
-        zhaZhanCount.text = $"闸门列表 (<color=#FFFFFF>{GlobalData.buYuanSensorData.data.Count}</color>)";
+        for (int i = 0; i < GlobalData.floorGateData.TaoKou.FloodGates.Length; i++)
+        {
+            
+            ZhaZhanItem tempItem = Instantiate(ZhaZhanItemOri, itemContent).GetComponent<ZhaZhanItem>();
+            tempItem.SetData(GlobalData.floorGateData.TaoKou.FloodGates[i], $"套口闸门-{i + 1}");
+            tempItem.gameObject.GetComponent<Button>().onClick.AddListener(() =>
+            {
+                StaticLod.instance.OnFoucusStatic("TaoKou");
+                gongChengPanel.SetActive(true);
+                zhaZhanMingCheng.text = tempItem._name;
+            });
+            currentZMDataList.Add(tempItem);
+        }
+        int totalCount = GlobalData.floorGateData.BuYuanTotalGates + GlobalData.floorGateData.TaoKouTotalGates;
+        zhaZhanCount.text = $"闸门列表 (<color=#FFFFFF>{totalCount}</color>)";
     }
 
+    public void SearchObsItem(string s_name)
+    {
+        if (s_name.Equals(""))
+        {
+            for (int i = 0; i < currentZMDataList.Count; i++)
+            {
+                currentZMDataList[i].gameObject.SetActive(true);
+            }
+        }
+        else
+        {
+            for (int i = 0; i < currentZMDataList.Count; i++)
+            {
+                currentZMDataList[i].gameObject.SetActive(currentZMDataList[i]._name.Contains(s_name));
+            }
+        }
+    }
     // Update is called once per frame
     void Update()
     {

+ 1 - 0
Assets/Scripts/UI/UIView/BigScreen/BigScreenLayer.cs

@@ -21,6 +21,7 @@ public class FloodGate
     public float CurrentFlow;
     public float CurrentOpening;
     public int Status; // 1 for operational, 0 for faulty
+    public string updateTime;
 }
 
 [System.Serializable]

+ 722 - 0
Assets/StreamingAssets/ObsDatas.json

@@ -0,0 +1,722 @@
+[
+  {
+    "name": "观察1",
+    "url": "http://example.com/1",
+    "targetName": "目标对象1",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "001",
+    "channelId": "101",
+    "status": true
+  },
+  {
+    "name": "观察2",
+    "url": "http://example.com/2",
+    "targetName": "目标对象2",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "002",
+    "channelId": "102",
+    "status": false
+  },
+  {
+    "name": "观察3",
+    "url": "http://example.com/3",
+    "targetName": "目标对象3",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "003",
+    "channelId": "103",
+    "status": true
+  },
+  {
+    "name": "观察4",
+    "url": "http://example.com/4",
+    "targetName": "目标对象4",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "004",
+    "channelId": "104",
+    "status": false
+  },
+  {
+    "name": "观察5",
+    "url": "http://example.com/5",
+    "targetName": "目标对象5",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "005",
+    "channelId": "105",
+    "status": true
+  },
+  {
+    "name": "观察6",
+    "url": "http://example.com/6",
+    "targetName": "目标对象6",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "006",
+    "channelId": "106",
+    "status": false
+  },
+  {
+    "name": "观察7",
+    "url": "http://example.com/7",
+    "targetName": "目标对象7",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "007",
+    "channelId": "107",
+    "status": true
+  },
+  {
+    "name": "观察8",
+    "url": "http://example.com/8",
+    "targetName": "目标对象8",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "008",
+    "channelId": "108",
+    "status": false
+  },
+  {
+    "name": "观察9",
+    "url": "http://example.com/9",
+    "targetName": "目标对象9",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "009",
+    "channelId": "109",
+    "status": true
+  },
+  {
+    "name": "观察10",
+    "url": "http://example.com/10",
+    "targetName": "目标对象10",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "010",
+    "channelId": "110",
+    "status": false
+  },
+  {
+    "name": "观察11",
+    "url": "http://example.com/11",
+    "targetName": "目标对象11",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "011",
+    "channelId": "111",
+    "status": true
+  },
+  {
+    "name": "观察12",
+    "url": "http://example.com/12",
+    "targetName": "目标对象12",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "012",
+    "channelId": "112",
+    "status": false
+  },
+  {
+    "name": "观察13",
+    "url": "http://example.com/13",
+    "targetName": "目标对象13",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "013",
+    "channelId": "113",
+    "status": true
+  },
+  {
+    "name": "观察14",
+    "url": "http://example.com/14",
+    "targetName": "目标对象14",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "014",
+    "channelId": "114",
+    "status": false
+  },
+  {
+    "name": "观察15",
+    "url": "http://example.com/15",
+    "targetName": "目标对象15",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "015",
+    "channelId": "115",
+    "status": true
+  },
+  {
+    "name": "观察16",
+    "url": "http://example.com/16",
+    "targetName": "目标对象16",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "016",
+    "channelId": "116",
+    "status": false
+  },
+  {
+    "name": "观察17",
+    "url": "http://example.com/17",
+    "targetName": "目标对象17",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "017",
+    "channelId": "117",
+    "status": true
+  },
+  {
+    "name": "观察18",
+    "url": "http://example.com/18",
+    "targetName": "目标对象18",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "018",
+    "channelId": "118",
+    "status": false
+  },
+  {
+    "name": "观察19",
+    "url": "http://example.com/19",
+    "targetName": "目标对象19",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "019",
+    "channelId": "119",
+    "status": true
+  },
+  {
+    "name": "观察20",
+    "url": "http://example.com/20",
+    "targetName": "目标对象20",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "020",
+    "channelId": "120",
+    "status": false
+  },
+  {
+    "name": "观察21",
+    "url": "http://example.com/21",
+    "targetName": "目标对象21",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "021",
+    "channelId": "121",
+    "status": true
+  },
+  {
+    "name": "观察22",
+    "url": "http://example.com/22",
+    "targetName": "目标对象22",
+    "type": "BuYuanObs",
+    "targetTransform": null,
+    "deviceId": "022",
+    "channelId": "122",
+    "status": false
+  },
+  {
+    "name": "观察1",
+    "url": "http://example.com/1",
+    "targetName": "目标对象1",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "001",
+    "channelId": "101",
+    "status": true
+  },
+  {
+    "name": "观察2",
+    "url": "http://example.com/2",
+    "targetName": "目标对象2",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "002",
+    "channelId": "102",
+    "status": false
+  },
+  {
+    "name": "观察3",
+    "url": "http://example.com/3",
+    "targetName": "目标对象3",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "003",
+    "channelId": "103",
+    "status": true
+  },
+  {
+    "name": "观察4",
+    "url": "http://example.com/4",
+    "targetName": "目标对象4",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "004",
+    "channelId": "104",
+    "status": false
+  },
+  {
+    "name": "观察5",
+    "url": "http://example.com/5",
+    "targetName": "目标对象5",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "005",
+    "channelId": "105",
+    "status": true
+  },
+  {
+    "name": "观察6",
+    "url": "http://example.com/6",
+    "targetName": "目标对象6",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "006",
+    "channelId": "106",
+    "status": false
+  },
+  {
+    "name": "观察7",
+    "url": "http://example.com/7",
+    "targetName": "目标对象7",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "007",
+    "channelId": "107",
+    "status": true
+  },
+  {
+    "name": "观察8",
+    "url": "http://example.com/8",
+    "targetName": "目标对象8",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "008",
+    "channelId": "108",
+    "status": false
+  },
+  {
+    "name": "观察9",
+    "url": "http://example.com/9",
+    "targetName": "目标对象9",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "009",
+    "channelId": "109",
+    "status": true
+  },
+  {
+    "name": "观察10",
+    "url": "http://example.com/10",
+    "targetName": "目标对象10",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "010",
+    "channelId": "110",
+    "status": false
+  },
+  {
+    "name": "观察11",
+    "url": "http://example.com/11",
+    "targetName": "目标对象11",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "011",
+    "channelId": "111",
+    "status": true
+  },
+  {
+    "name": "观察12",
+    "url": "http://example.com/12",
+    "targetName": "目标对象12",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "012",
+    "channelId": "112",
+    "status": false
+  },
+  {
+    "name": "观察13",
+    "url": "http://example.com/13",
+    "targetName": "目标对象13",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "013",
+    "channelId": "113",
+    "status": true
+  },
+  {
+    "name": "观察14",
+    "url": "http://example.com/14",
+    "targetName": "目标对象14",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "014",
+    "channelId": "114",
+    "status": false
+  },
+  {
+    "name": "观察15",
+    "url": "http://example.com/15",
+    "targetName": "目标对象15",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "015",
+    "channelId": "115",
+    "status": true
+  },
+  {
+    "name": "观察16",
+    "url": "http://example.com/16",
+    "targetName": "目标对象16",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "016",
+    "channelId": "116",
+    "status": false
+  },
+  {
+    "name": "观察17",
+    "url": "http://example.com/17",
+    "targetName": "目标对象17",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "017",
+    "channelId": "117",
+    "status": true
+  },
+  {
+    "name": "观察18",
+    "url": "http://example.com/18",
+    "targetName": "目标对象18",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "018",
+    "channelId": "118",
+    "status": false
+  },
+  {
+    "name": "观察19",
+    "url": "http://example.com/19",
+    "targetName": "目标对象19",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "019",
+    "channelId": "119",
+    "status": true
+  },
+  {
+    "name": "观察20",
+    "url": "http://example.com/20",
+    "targetName": "目标对象20",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "020",
+    "channelId": "120",
+    "status": false
+  },
+  {
+    "name": "观察21",
+    "url": "http://example.com/21",
+    "targetName": "目标对象21",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "021",
+    "channelId": "121",
+    "status": true
+  },
+  {
+    "name": "观察22",
+    "url": "http://example.com/22",
+    "targetName": "目标对象22",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "022",
+    "channelId": "122",
+    "status": false
+  },
+  {
+    "name": "观察23",
+    "url": "http://example.com/23",
+    "targetName": "目标对象23",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "023",
+    "channelId": "123",
+    "status": true
+  },
+  {
+    "name": "观察24",
+    "url": "http://example.com/24",
+    "targetName": "目标对象24",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "024",
+    "channelId": "124",
+    "status": false
+  },
+  {
+    "name": "观察25",
+    "url": "http://example.com/25",
+    "targetName": "目标对象25",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "025",
+    "channelId": "125",
+    "status": true
+  },
+  {
+    "name": "观察26",
+    "url": "http://example.com/26",
+    "targetName": "目标对象26",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "026",
+    "channelId": "126",
+    "status": false
+  },
+  {
+    "name": "观察27",
+    "url": "http://example.com/27",
+    "targetName": "目标对象27",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "027",
+    "channelId": "127",
+    "status": true
+  },
+  {
+    "name": "观察28",
+    "url": "http://example.com/28",
+    "targetName": "目标对象28",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "028",
+    "channelId": "128",
+    "status": false
+  },
+  {
+    "name": "观察29",
+    "url": "http://example.com/29",
+    "targetName": "目标对象29",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "029",
+    "channelId": "129",
+    "status": true
+  },
+  {
+    "name": "观察30",
+    "url": "http://example.com/30",
+    "targetName": "目标对象30",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "030",
+    "channelId": "130",
+    "status": false
+  },
+  {
+    "name": "观察31",
+    "url": "http://example.com/31",
+    "targetName": "目标对象31",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "031",
+    "channelId": "131",
+    "status": true
+  },
+  {
+    "name": "观察32",
+    "url": "http://example.com/32",
+    "targetName": "目标对象32",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "032",
+    "channelId": "132",
+    "status": false
+  },
+  {
+    "name": "观察33",
+    "url": "http://example.com/33",
+    "targetName": "目标对象33",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "033",
+    "channelId": "133",
+    "status": true
+  },
+  {
+    "name": "观察34",
+    "url": "http://example.com/34",
+    "targetName": "目标对象34",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "034",
+    "channelId": "134",
+    "status": false
+  },
+  {
+    "name": "观察35",
+    "url": "http://example.com/35",
+    "targetName": "目标对象35",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "035",
+    "channelId": "135",
+    "status": true
+  },
+  {
+    "name": "观察36",
+    "url": "http://example.com/36",
+    "targetName": "目标对象36",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "036",
+    "channelId": "136",
+    "status": false
+  },
+  {
+    "name": "观察37",
+    "url": "http://example.com/37",
+    "targetName": "目标对象37",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "037",
+    "channelId": "137",
+    "status": true
+  },
+  {
+    "name": "观察38",
+    "url": "http://example.com/38",
+    "targetName": "目标对象38",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "038",
+    "channelId": "138",
+    "status": false
+  },
+  {
+    "name": "观察39",
+    "url": "http://example.com/39",
+    "targetName": "目标对象39",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "039",
+    "channelId": "139",
+    "status": true
+  },
+  {
+    "name": "观察40",
+    "url": "http://example.com/40",
+    "targetName": "目标对象40",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "040",
+    "channelId": "140",
+    "status": false
+  },
+  {
+    "name": "观察41",
+    "url": "http://example.com/41",
+    "targetName": "目标对象41",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "041",
+    "channelId": "141",
+    "status": true
+  },
+  {
+    "name": "观察42",
+    "url": "http://example.com/42",
+    "targetName": "目标对象42",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "042",
+    "channelId": "142",
+    "status": false
+  },
+  {
+    "name": "观察43",
+    "url": "http://example.com/43",
+    "targetName": "目标对象43",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "043",
+    "channelId": "143",
+    "status": true
+  },
+  {
+    "name": "观察44",
+    "url": "http://example.com/44",
+    "targetName": "目标对象44",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "044",
+    "channelId": "144",
+    "status": false
+  },
+  {
+    "name": "观察45",
+    "url": "http://example.com/45",
+    "targetName": "目标对象45",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "045",
+    "channelId": "145",
+    "status": true
+  },
+  {
+    "name": "观察46",
+    "url": "http://example.com/46",
+    "targetName": "目标对象46",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "046",
+    "channelId": "146",
+    "status": false
+  },
+  {
+    "name": "观察47",
+    "url": "http://example.com/47",
+    "targetName": "目标对象47",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "047",
+    "channelId": "147",
+    "status": true
+  },
+  {
+    "name": "观察48",
+    "url": "http://example.com/48",
+    "targetName": "目标对象48",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "048",
+    "channelId": "148",
+    "status": false
+  },
+  {
+    "name": "观察49",
+    "url": "http://example.com/49",
+    "targetName": "目标对象49",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "049",
+    "channelId": "149",
+    "status": true
+  },
+  {
+    "name": "观察50",
+    "url": "http://example.com/50",
+    "targetName": "目标对象50",
+    "type": "TaoKouObs",
+    "targetTransform": null,
+    "deviceId": "050",
+    "channelId": "150",
+    "status": false
+  }
+]

+ 116 - 58
Assets/StreamingAssets/floodGateStatusData.json

@@ -7,98 +7,112 @@
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 2,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 3,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 4,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 5,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 6,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 7,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 8,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 9,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 10,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 11,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 12,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 13,
                 "IsOpen": false,
                 "CurrentFlow": 0,
                 "CurrentOpening": 0,
-                "Status": 0
+                "Status": 0,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 14,
                 "IsOpen": true,
                 "CurrentFlow": 150,
                 "CurrentOpening": 45,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             }
         ]
     },
@@ -110,308 +124,352 @@
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 2,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 3,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 4,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 5,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 6,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 7,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 8,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 9,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 10,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 11,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 12,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 13,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 14,
                 "IsOpen": false,
                 "CurrentFlow": 0,
                 "CurrentOpening": 0,
-                "Status": 0
+                "Status": 0,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 15,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 16,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 17,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 18,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 19,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 20,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 21,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 22,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 23,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 24,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 25,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 26,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 27,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 28,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 29,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 30,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 31,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 32,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 33,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 34,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 35,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 36,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 37,
                 "IsOpen": false,
                 "CurrentFlow": 0,
                 "CurrentOpening": 0,
-                "Status": 0
+                "Status": 0,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 38,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 39,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 40,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 41,
                 "IsOpen": false,
                 "CurrentFlow": 0,
                 "CurrentOpening": 0,
-                "Status": 0
+                "Status": 0,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 42,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 43,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             },
             {
                 "GateNumber": 44,
                 "IsOpen": true,
                 "CurrentFlow": 200,
                 "CurrentOpening": 60,
-                "Status": 1
+                "Status": 1,
+                "updateTime":"2024/10/04 17:00:00"
             }
         ]
     }

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.