Selaa lähdekoodia

Merge branch 'feature/jinxin' into develop

# Conflicts:
#	35kVPSADS_Platform/Assets/Phase I Resources/Scripts/Scripts/UI.meta
#	35kVPSADS_Platform/Assets/Phase I Resources/Scripts/UIPrefab.meta
#	35kVPSADS_Platform/Assets/Scenes/巡视/配电Main/LightingData.asset
#	35kVPSADS_Platform/Assets/Scenes/巡视/配电Main/Lightmap-0_comp_dir.png
#	35kVPSADS_Platform/Assets/Scenes/巡视/配电Main/Lightmap-0_comp_light.exr
#	35kVPSADS_Platform/Assets/Scenes/巡视/配电Main/Lightmap-1_comp_dir.png
#	35kVPSADS_Platform/Assets/Scenes/巡视/配电Main/Lightmap-1_comp_light.exr
zhangjx 6 päivää sitten
vanhempi
commit
c50b3a8d42

+ 1 - 1
35kVPSADS_Platform/Assets/Art/Scripts.meta → 35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 8309d4efa5b343749a98ee602c696d90
+guid: 159de4a7e433af54494a01de20daa8a0
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 83 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampMeterControllor.cs

@@ -0,0 +1,83 @@
+using NMGJD.InitAndInspect;
+using Sirenix.OdinInspector;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ClampMeterControllor : MonoSingleton<ClampMeterControllor>
+{
+
+    public Button ClampImgBtn;
+
+    [Header("工具模式下可点击的碰撞体")]
+    public List<ClampMeterItem> clampMeterItems;
+
+    [Header("所有工具展示物体")]
+    public List<GameObject> tools;
+    private GameObject currentTool;
+    public GameObject ShuZhi;
+    public Text shuzhiText;
+    public bool IsToolMode = false;
+
+ 
+    void Start()
+    {
+    
+       
+        if (XunShiModeController.xunshiType == XnuShiType.日常巡视 && GlobalData.m_CurrentOperationMode == OperationMode.Learn)
+        {
+            ClampImgBtn.gameObject.SetActive(false);
+        }
+        ExitToolMode();
+        ShuZhi.SetActive(false);
+        ClampImgBtn.onClick.AddListener(() =>
+        {
+            IsToolMode = !IsToolMode;
+            ToggleToolMode();
+        });
+    }
+   
+    /// <summary>
+    /// UI按钮调用
+    /// </summary>
+    public void ToggleToolMode()
+    {
+        if (IsToolMode)
+            EnterToolMode();
+        else
+            ExitToolMode();
+    }
+
+    private void EnterToolMode()
+    {
+        ShuZhi.SetActive(true);
+        shuzhiText.text = "数值:";
+        foreach (var col in clampMeterItems)
+            col.SetColliders(true);
+    }
+
+    private void ExitToolMode()
+    {
+        ShuZhi.SetActive(false);
+        foreach (var col in clampMeterItems)
+            col.SetColliders(false);
+
+        HideAllTools();
+    }
+
+    public void ShowTool(GameObject tool)
+    {
+    
+            HideAllTools();
+            tool.SetActive(true);
+            currentTool = tool;
+     
+    }
+
+    private void HideAllTools()
+    {
+        foreach (var t in tools)
+            t.SetActive(false);
+    }
+}

+ 11 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampMeterControllor.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c70a560b42bc6894da693b75677a5998
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 35 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampMeterItem.cs

@@ -0,0 +1,35 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ClampMeterItem : MonoBehaviour
+{
+    [Header("需要控制的碰撞体")]
+    public List<Collider> toolColliders;
+    [Header("对应显示的工具")]
+    public GameObject toolToShow;
+
+    private void Awake()
+    {
+        toolColliders = new List<Collider>(); 
+        // 自动获取所有子物体上的 Collider(包括自身子层级)
+        toolColliders.AddRange(GetComponentsInChildren<Collider>(true));
+
+        // 默认关闭
+        SetColliders(false);
+    }
+
+    /// <summary>
+    /// 供 ClampMeterControllor 调用
+    /// </summary>
+    public void SetColliders(bool enable)
+    {
+        foreach (var col in toolColliders)
+        {
+            col.enabled = enable;
+         
+        }
+    }
+}
+
+

+ 11 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampMeterItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0f2b37de97c1fd643a3f34afc08ba806
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampRaycaster.cs

@@ -0,0 +1,38 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ClampRaycaster : MonoBehaviour
+{
+    [Header("射线距离")]
+    public float rayDistance = 3f;
+
+    [Header("可点击工具层")]
+    public LayerMask toolLayer;
+
+    void Update()
+    {
+
+        if (Input.GetMouseButtonDown(0))
+        {
+            if (ClampMeterControllor.Instance.IsToolMode)
+            {
+                Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
+                RaycastHit hitInfo;
+                if (Physics.Raycast(ray, out RaycastHit hit, rayDistance, toolLayer))
+                {
+                    ClampMeterItem trigger = hit.collider.GetComponentInParent<ClampMeterItem>();
+                    Debug.LogError(trigger.name);
+                    Debug.LogError(toolLayer);
+                    if (trigger != null)
+                    {
+                        ClampMeterControllor.Instance.ShowTool(trigger.toolToShow);
+                        ClampMeterControllor.Instance.shuzhiText.text="数值:0";
+
+                    }
+                }
+            }
+        }
+
+    }
+}

+ 11 - 0
35kVPSADS_Platform/Assets/Phase I Resources/Scripts/ClampMeterControllor/ClampRaycaster.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d5e1906d0acdb2747b5f5e27a6a6fea4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
35kVPSADS_Platform/Assets/Art/Scripts/UI.meta → 35kVPSADS_Platform/Assets/Phase I Resources/Scripts/Scripts/UI.meta


+ 0 - 0
35kVPSADS_Platform/Assets/Art/UIPrefab.meta → 35kVPSADS_Platform/Assets/Phase I Resources/Scripts/UIPrefab.meta


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 983 - 0
35kVPSADS_Platform/Assets/Scenes/巡视/架空线路巡视.unity


+ 0 - 8
35kVPSADS_Platform/Assets/StreamingAssets/Pictures/1032.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 571dcad62d3462e42aa9340eb55bde90
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
35kVPSADS_Platform/Assets/StreamingAssets/Pictures/1037.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2cee65e8de623034baac387ead867180
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
35kVPSADS_Platform/Assets/StreamingAssets/Pictures/1038.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 9097354a58fb5bf4191a509d482bf00a
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
35kVPSADS_Platform/Assets/StreamingAssets/Pictures/1041.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4a5418deec5d0724fafb04c533aaa504
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 1 - 1
35kVPSADS_Platform/ProjectSettings/TagManager.asset

@@ -23,7 +23,7 @@ TagManager:
   - fault
   - 
   - dixiadianlan
-  - 
+  - toolLayer
   - 
   - 
   - 

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä