Эх сурвалжийг харах

3D大屏加上监控图标

Void_F 1 өдөр өмнө
parent
commit
83f0656574

+ 41 - 2
Assets/Prefabs/UI/SWFZ/SPJK.prefab

@@ -653,7 +653,7 @@ RectTransform:
   - {fileID: 8421564381276126533}
   - {fileID: 1182882711783925293}
   m_Father: {fileID: 4461453780397662635}
-  m_RootOrder: 0
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
@@ -1837,6 +1837,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 434352196474264963}
   - {fileID: 5774837649050539594}
   - {fileID: 3147033115075484175}
   m_Father: {fileID: 0}
@@ -1865,6 +1866,8 @@ MonoBehaviour:
   countText: {fileID: 5147317439065066957}
   _obsSearchInputField: {fileID: 6744885183358372171}
   obsPlayerPanel: {fileID: 0}
+  _obsIconContent: {fileID: 434352196474264963}
+  obsIconPrefab: {fileID: 4283438596719758962, guid: 6c9f33c1cdecf28409c18423b378f802, type: 3}
 --- !u!1 &4520921689576299114
 GameObject:
   m_ObjectHideFlags: 0
@@ -3207,6 +3210,42 @@ MonoBehaviour:
   m_OnValueChanged:
     m_PersistentCalls:
       m_Calls: []
+--- !u!1 &9023829895859056529
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 434352196474264963}
+  m_Layer: 5
+  m_Name: ObsIconContent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &434352196474264963
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9023829895859056529}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4461453780397662635}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &6036100113053915545
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -3224,7 +3263,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 8676194456186192790, guid: 470a65354eb810545be61c741e36b13c, type: 3}
       propertyPath: m_RootOrder
-      value: 1
+      value: 2
       objectReference: {fileID: 0}
     - target: {fileID: 8676194456186192790, guid: 470a65354eb810545be61c741e36b13c, type: 3}
       propertyPath: m_AnchorMax.x

+ 69 - 0
Assets/Scripts/UI/UIView/3D/SPJKLayer.cs

@@ -19,8 +19,23 @@ public class SPJKLayer : MonoBehaviour
     public InputField _obsSearchInputField;
 
     public ObsPlayerPanel obsPlayerPanel;
+    
+    
+    public Transform _obsIconContent;
+    private List<ObsIconCtrl> _obsIconCtrls=new List<ObsIconCtrl>();
+    
+    Dictionary<string, bool> BYObsUseLib = new Dictionary<string, bool>();
+    Dictionary<string, bool> TKObsUseLib = new Dictionary<string, bool>();
+
+    public GameObject obsIconPrefab;
+    
+    private void Awake()
+    {
+        _obsIconContent = this.transform.Find("ObsIconContent").transform;
 
 
+    }
+
     async void Start()
     {
         InitObsData();
@@ -66,6 +81,60 @@ public class SPJKLayer : MonoBehaviour
             });
         }
         countText.text = $"监控列表 (<color=#FFFFFF>{obs_by.Length+obs_tk.Length}</color>)";
+        
+        for (int i = 0; i < _obsIconCtrls.Count; i++)
+        {
+            Destroy(_obsIconCtrls[i].gameObject);
+        }
+        
+        
+        for (int i = 0; i < GlobalData.layerUnitDatas.Count; i++)
+        {
+            if (GlobalData.layerUnitDatas[i].type == LayerUnitType.JK)
+            {
+                if (GlobalData.layerUnitDatas[i].text1 == "补元退洪闸")
+                {
+                    BYObsUseLib.Add(GlobalData.layerUnitDatas[i].namePri, false);
+                }
+                else if (GlobalData.layerUnitDatas[i].text1 == "套口进洪闸")
+                {
+                    TKObsUseLib.Add(GlobalData.layerUnitDatas[i].namePri, false);
+                }
+            }
+        }
+        
+   
+
+        foreach (string keyName in BYObsUseLib.Keys)
+        {
+            if (!BYObsUseLib[keyName])
+            {
+                ObsIconCtrl tempIcon = Instantiate(obsIconPrefab, _obsIconContent).GetComponent<ObsIconCtrl>();
+                ObsData errorObs = new ObsData();
+                errorObs.name = keyName + "(丢失)";
+                errorObs.targetName = keyName;
+                errorObs.type = obsType.BuYuanObs;
+                errorObs.status = false;
+                tempIcon.Init(errorObs);
+                _obsIconCtrls.Add(tempIcon);
+            }
+        }
+        
+
+        foreach (string keyName in TKObsUseLib.Keys)
+        {
+            if (!TKObsUseLib[keyName])
+            {
+                ObsIconCtrl tempIcon = Instantiate(obsIconPrefab, _obsIconContent).GetComponent<ObsIconCtrl>();
+                ObsData errorObs = new ObsData();
+                errorObs.name = keyName + "(丢失)";
+                errorObs.targetName = keyName;
+                errorObs.type = obsType.TaoKouObs;
+                errorObs.status = false;
+                tempIcon.Init(errorObs);
+                _obsIconCtrls.Add(tempIcon);
+            }
+        }
     }
     
     public void SearchObsItem(string s_name)