Selaa lähdekoodia

Merge branch 'main' of http://www.chatgpt918.top:3000/wartheking/WaterFlush

Void_F 9 kuukautta sitten
vanhempi
sitoutus
f02bf6aa33

+ 34 - 2
Assets/Prefabs/UI/RuntimePoint.prefab

@@ -57,6 +57,7 @@ GameObject:
   - component: {fileID: 5500973439967830541}
   - component: {fileID: 2742062590507750192}
   - component: {fileID: -6917283281914006372}
+  - component: {fileID: 2238104553685385063}
   m_Layer: 5
   m_Name: RuntimePoint
   m_TagString: Untagged
@@ -114,6 +115,37 @@ MonoBehaviour:
   layerIDs: 
   arrow: {fileID: 0}
   bingObj: {fileID: 0}
+  lastTime: 0
+--- !u!114 &2238104553685385063
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3276763291743061506}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
 --- !u!1 &4884575910827390704
 GameObject:
   m_ObjectHideFlags: 0
@@ -175,7 +207,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
-  m_RaycastTarget: 1
+  m_RaycastTarget: 0
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
@@ -230,7 +262,7 @@ MonoBehaviour:
     m_PressedTrigger: Pressed
     m_SelectedTrigger: Selected
     m_DisabledTrigger: Disabled
-  m_Interactable: 1
+  m_Interactable: 0
   m_TargetGraphic: {fileID: 2194890910764625470}
   m_OnClick:
     m_PersistentCalls:

+ 6 - 6
Assets/Prefabs/UI/WeatherUnit.prefab

@@ -195,9 +195,9 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 661.2999, y: 428.46002}
+  m_AnchoredPosition: {x: 613.7399, y: 514.7}
   m_SizeDelta: {x: 164, y: 88}
-  m_Pivot: {x: 0.5, y: 0.07}
+  m_Pivot: {x: 0.21, y: 1.05}
 --- !u!222 &3008402944905094414
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -227,13 +227,13 @@ MonoBehaviour:
     m_PersistentCalls:
       m_Calls: []
   m_Sprite: {fileID: 21300000, guid: cd97b0938952e2f48b8e32adec9886c5, type: 3}
-  m_Type: 0
+  m_Type: 3
   m_PreserveAspect: 0
   m_FillCenter: 1
-  m_FillMethod: 4
-  m_FillAmount: 1
+  m_FillMethod: 1
+  m_FillAmount: 0.413
   m_FillClockwise: 1
-  m_FillOrigin: 0
+  m_FillOrigin: 1
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
 --- !u!114 &3839863197424475776

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 932 - 9
Assets/Scene 1.unity


+ 88 - 83
Assets/Scripts/UI/UIView/GCJK/GCJKLayer.cs

@@ -435,89 +435,7 @@ public class GCJKLayer : YZTRootLayer
         weiYiToggle.onValueChanged.AddListener(SetWeiYiIconActive);
 
 
-        globalWeatherBtn.onClick.AddListener(async() => {
-
-            if(GlobalData.qXZDatas.Count < 1 || GlobalData.sWZDatas.Count < 1)
-                await HttpHelper._Instance.InitGCJKData();
-
-            GameObject shaPan = GameObject.FindGameObjectWithTag("ShaPan");
-            CameraManager.SwitchCamera(1);
-            if (dropUnits.Count <= 0)
-            {
-                CameraManager.SwitchCamera(1);
-                viewMode = ViewMode.miniMap;
-                dropUnits = new List<DropUnit>();
-                weatherUnits = new List<WeatherUnit>();
-                for (int i = 0; i < GlobalData.qXZDatas.Count; i++)
-                {
-                    GameObject gameObject = Instantiate(dropUnitPrefab);
-                    DropUnit dropUnit = gameObject.GetComponent<DropUnit>();
-                    dropUnit.transform.SetParent(miniMapQXContent.transform);
-                    dropUnit.Init(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD, GlobalData.qXZDatas[i].STNM, GlobalData.qXZDatas[i].dropSum6.ToString());
-                    dropUnits.Add(dropUnit);
-
-                    dropUnit.bingObj = Instantiate(runtimePointObj).gameObject;
-                    dropUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(7));
-                    dropUnit.bingObj.transform.localEulerAngles = Vector3.zero;
-                    dropUnit.bingObj.transform.localScale = Vector3.one;
-                    dropUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD);
-                    dropUnit.bingObj.name = GlobalData.qXZDatas[i].STNM;
-                }
-
-                for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
-                {
-                    GameObject gameObject = Instantiate(dropUnitPrefab);
-                    DropUnit dropUnit = gameObject.GetComponent<DropUnit>();
-                    dropUnit.transform.SetParent(miniMapSWContent.transform);
-                    dropUnit.Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].dropSum6.ToString());
-                    dropUnits.Add(dropUnit);
-
-                    dropUnit.bingObj = Instantiate(runtimePointObj).gameObject;
-                    dropUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(8));
-                    dropUnit.bingObj.transform.localEulerAngles = Vector3.zero;
-                    dropUnit.bingObj.transform.localScale = Vector3.one;
-                    dropUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD);
-                    dropUnit.bingObj.name = GlobalData.sWZDatas[i].STNM;
-                }
-            }
-            else {
-                for (int i = 0; i < GlobalData.qXZDatas.Count; i++)
-                {
-                    dropUnits[i].Init(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD, GlobalData.qXZDatas[i].STNM, GlobalData.qXZDatas[i].dropSum6.ToString());
-                }
-                for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
-                {
-                    dropUnits[i].Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].dropSum6.ToString());
-                }
-            }
-            if (weatherUnits.Count <= 0)
-            {
-                for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
-                {
-                    GameObject gameObject = Instantiate(weatherUnitPrefab);
-                    WeatherUnit weatherUnit = gameObject.GetComponent<WeatherUnit>();
-                    weatherUnit.transform.SetParent(miniMapSWContent.transform);
-                    weatherUnit.Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].wth);
-                    weatherUnits.Add(weatherUnit);
-
-                    weatherUnit.bingObj = Instantiate(runtimePointObj).gameObject;
-                    weatherUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(8));
-                    weatherUnit.bingObj.transform.localEulerAngles = Vector3.zero;
-                    weatherUnit.bingObj.transform.localScale = Vector3.one;
-                    weatherUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD);
-                    weatherUnit.bingObj.name = GlobalData.sWZDatas[i].STNM;
-                }
-            }
-            else {
-                for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
-                {
-                    weatherUnits[i].Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].wth);
-                }
-            }
-
-            miniMap.gameObject.SetActive(true);
-            main.gameObject.SetActive(false);
-        });
+        globalWeatherBtn.onClick.AddListener(OnGlobalWeatherClick);
 
         exitGlobalWeatherBtn.onClick.AddListener(() =>
         {
@@ -563,6 +481,93 @@ public class GCJKLayer : YZTRootLayer
         });
     }
 
+    public async void OnGlobalWeatherClick() {
+        if (GlobalData.qXZDatas.Count < 1 || GlobalData.sWZDatas.Count < 1)
+            await HttpHelper._Instance.InitGCJKData();
+
+        GameObject shaPan = GameObject.FindGameObjectWithTag("ShaPan");
+        CameraManager.SwitchCamera(1);
+        if (dropUnits.Count <= 0)
+        {
+            viewMode = ViewMode.miniMap;
+            dropUnits = new List<DropUnit>();
+            weatherUnits = new List<WeatherUnit>();
+            for (int i = 0; i < GlobalData.qXZDatas.Count; i++)
+            {
+                GameObject gameObject = Instantiate(dropUnitPrefab);
+                DropUnit dropUnit = gameObject.GetComponent<DropUnit>();
+                dropUnit.transform.SetParent(miniMapQXContent.transform);
+                dropUnit.Init(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD, GlobalData.qXZDatas[i].STNM, GlobalData.qXZDatas[i].dropSum6.ToString());
+                dropUnits.Add(dropUnit);
+
+                dropUnit.bingObj = Instantiate(runtimePointObj).gameObject;
+                dropUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(7));
+                dropUnit.bingObj.transform.localEulerAngles = Vector3.zero;
+                dropUnit.bingObj.transform.localScale = Vector3.one;
+                dropUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD);
+                dropUnit.bingObj.name = GlobalData.qXZDatas[i].STNM;
+            }
+
+            for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
+            {
+                GameObject gameObject = Instantiate(dropUnitPrefab);
+                DropUnit dropUnit = gameObject.GetComponent<DropUnit>();
+                dropUnit.transform.SetParent(miniMapSWContent.transform);
+                dropUnit.Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].dropSum6.ToString());
+                dropUnits.Add(dropUnit);
+
+                dropUnit.bingObj = Instantiate(runtimePointObj).gameObject;
+                dropUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(8));
+                dropUnit.bingObj.transform.localEulerAngles = Vector3.zero;
+                dropUnit.bingObj.transform.localScale = Vector3.one;
+                dropUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD);
+                dropUnit.bingObj.name = GlobalData.sWZDatas[i].STNM;
+            }
+        }
+        else
+        {
+            viewMode = ViewMode.miniMap;
+            int index = 0;
+            for (int i = 0; i < GlobalData.qXZDatas.Count; i++)
+            {
+                dropUnits[i].Init(GlobalData.qXZDatas[i].LGTD, GlobalData.qXZDatas[i].LTTD, GlobalData.qXZDatas[i].STNM, GlobalData.qXZDatas[i].dropSum6.ToString());
+                index++;
+            }
+            for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
+            {
+                dropUnits[i + index].Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].dropSum6.ToString());
+            }
+        }
+        if (weatherUnits.Count <= 0)
+        {
+            for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
+            {
+                GameObject gameObject = Instantiate(weatherUnitPrefab);
+                WeatherUnit weatherUnit = gameObject.GetComponent<WeatherUnit>();
+                weatherUnit.transform.SetParent(miniMapSWContent.transform);
+                weatherUnit.Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].wth);
+                weatherUnits.Add(weatherUnit);
+
+                weatherUnit.bingObj = Instantiate(runtimePointObj).gameObject;
+                weatherUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(8));
+                weatherUnit.bingObj.transform.localEulerAngles = Vector3.zero;
+                weatherUnit.bingObj.transform.localScale = Vector3.one;
+                weatherUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD);
+                weatherUnit.bingObj.name = GlobalData.sWZDatas[i].STNM;
+            }
+        }
+        else
+        {
+            for (int i = 0; i < GlobalData.sWZDatas.Count; i++)
+            {
+                weatherUnits[i].Init(GlobalData.sWZDatas[i].LGTD, GlobalData.sWZDatas[i].LTTD, GlobalData.sWZDatas[i].STNM, GlobalData.sWZDatas[i].wth);
+            }
+        }
+
+        miniMap.gameObject.SetActive(true);
+        main.gameObject.SetActive(false);
+    }
+
     public void SetBengZhanJianKongData(BengZhanJianKongData[] datas)
     {
         for (int i = 0; i < currentBengZhanJianKongItems.Count; i++)

+ 35 - 33
Assets/Scripts/UI/UIView/SWYJ/SWYJLayer.cs

@@ -335,39 +335,8 @@ public class StationData:IComparable
         }
 
 
-        globalSWBtn.onClick.AddListener(async () => {
+        globalSWBtn.onClick.AddListener(OnGlobalSWBtnClick);
 
-            CameraManager.SwitchCamera(1);
-            viewMode = ViewMode.miniMap;
-            GameObject shaPan = GameObject.FindGameObjectWithTag("ShaPan");
-            if (sWHeightUnits.Count < 1)
-            {
-                for (int i = 0; i < GlobalData.swDatas.Count; i++)
-                {
-                    GameObject gameObject = Instantiate(sWHeightUnitPrefab);
-                    SWHeightUnit swHUnit = gameObject.GetComponent<SWHeightUnit>();
-                    swHUnit.transform.SetParent(miniMapSWContent.transform);
-                    float max = math.max(GlobalData.swDatas[i].upz, GlobalData.swDatas[i].dwz);
-                    swHUnit.Init(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD, GlobalData.swDatas[i].STNM, max.ToString());
-                    sWHeightUnits.Add(swHUnit);
-
-                    swHUnit.bingObj = Instantiate(runtimePointObj).gameObject;
-                    swHUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(9));
-                    swHUnit.bingObj.transform.localEulerAngles = Vector3.zero;
-                    swHUnit.bingObj.transform.localScale = Vector3.one;
-                    swHUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD);
-                    swHUnit.bingObj.name = GlobalData.swDatas[i].STNM;
-                }
-            }
-            else {
-                for (int i = 0; i < GlobalData.swDatas.Count; i++) {
-                    float max = math.max(GlobalData.swDatas[i].upz, GlobalData.swDatas[i].dwz);
-                    sWHeightUnits[i].Init(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD, GlobalData.swDatas[i].STNM, max.ToString());
-                }
-            }
-            miniMap.gameObject.SetActive(true);
-            main.gameObject.SetActive(false);
-        });
         exitGlobalSWBtn.onClick.AddListener(() =>
         {
             CameraManager.SwitchCamera(0);
@@ -377,7 +346,40 @@ public class StationData:IComparable
         });
     }
 
-
+    public async void OnGlobalSWBtnClick() {
+        CameraManager.SwitchCamera(1);
+        viewMode = ViewMode.miniMap;
+        GameObject shaPan = GameObject.FindGameObjectWithTag("ShaPan");
+        if (sWHeightUnits.Count < 1)
+        {
+            for (int i = 0; i < GlobalData.swDatas.Count; i++)
+            {
+                GameObject gameObject = Instantiate(sWHeightUnitPrefab);
+                SWHeightUnit swHUnit = gameObject.GetComponent<SWHeightUnit>();
+                swHUnit.transform.SetParent(miniMapSWContent.transform);
+                float max = math.max(GlobalData.swDatas[i].upz, GlobalData.swDatas[i].dwz);
+                swHUnit.Init(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD, GlobalData.swDatas[i].STNM, max.ToString());
+                sWHeightUnits.Add(swHUnit);
+
+                swHUnit.bingObj = Instantiate(runtimePointObj).gameObject;
+                swHUnit.bingObj.transform.SetParent(shaPan.transform.GetChild(9));
+                swHUnit.bingObj.transform.localEulerAngles = Vector3.zero;
+                swHUnit.bingObj.transform.localScale = Vector3.one;
+                swHUnit.bingObj.transform.localPosition = CoordinateConverter.GeoToUGUISmall(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD);
+                swHUnit.bingObj.name = GlobalData.swDatas[i].STNM;
+            }
+        }
+        else
+        {
+            for (int i = 0; i < GlobalData.swDatas.Count; i++)
+            {
+                float max = math.max(GlobalData.swDatas[i].upz, GlobalData.swDatas[i].dwz);
+                sWHeightUnits[i].Init(GlobalData.swDatas[i].LGTD, GlobalData.swDatas[i].LTTD, GlobalData.swDatas[i].STNM, max.ToString());
+            }
+        }
+        miniMap.gameObject.SetActive(true);
+        main.gameObject.SetActive(false);
+    }
     public void OnShuiWeiDropDownSelect(int value)
     {
         if (currentDataType == shuiWeiYuJingDataType.BuYuan)

+ 64 - 38
Assets/Scripts/UI/UIView/YZT/OnePicNav.cs

@@ -1,4 +1,5 @@
 using DG.Tweening;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Xml;
@@ -10,6 +11,7 @@ using UnityEngine.UI;
 
 public class OnePicNav : MonoBehaviour
 {
+    public static OnePicNav instance;
 
     public Vector2[] targetPos;
 
@@ -34,6 +36,7 @@ public class OnePicNav : MonoBehaviour
 
     void Start()
     {
+        instance = this;
         InitButton();
     }
 
@@ -60,49 +63,72 @@ public class OnePicNav : MonoBehaviour
             int index = i;
             btns[index].onClick.AddListener(() =>
             {
-                for (int j = 0; j < layers.Count; j++)
+                OnButtnClick(index);
+            });
+        }
+    }
+
+    public void OnButtnClick(int index) {
+        for (int j = 0; j < layers.Count; j++)
+        {
+            layers[j].gameObject.SetActive(false);
+        }
+        for (int j = 0; j < btns.Count; j++)
+        {
+            btns[j].GetComponentInChildren<Text>().color = new Color32(137, 147, 173, 255);
+        }
+        btns[index].GetComponentInChildren<Text>().color = Color.white;
+        Tweener tw = s_image.GetComponent<RectTransform>().DOLocalMoveX(targetPos[index].x, 0.3f);
+        tw.SetEase(Ease.OutBack);
+        if (index < layers.Count)
+            if (index == 0 || index == 2 || index == 5)
+            {
+                if (layers[index].GetComponent<YZTRootLayer>().viewMode == ViewMode.miniMap)
                 {
-                    layers[j].gameObject.SetActive(false);
+                    CameraManager.SwitchCamera(1);
                 }
-                for (int j = 0; j < btns.Count; j++) {
-                    btns[j].GetComponentInChildren<Text>().color = new Color32(137, 147, 173,255);
+                else
+                {
+                    CameraManager.SwitchCamera(0);
                 }
-                btns[index].GetComponentInChildren<Text>().color = Color.white;
-                Tweener tw = s_image.GetComponent<RectTransform>().DOLocalMoveX(targetPos[index].x, 0.3f);
-                tw.SetEase(Ease.OutBack);
-                if (index < layers.Count)
-                    if (index == 0 || index == 2 || index == 5)
-                    {
-                        if (layers[index].GetComponent<YZTRootLayer>().viewMode == ViewMode.miniMap)
-                        {
-                            CameraManager.SwitchCamera(1);
-                        }
-                        else {
-                            CameraManager.SwitchCamera(0);
-                        }
-                    }
-                    else {
-                        CameraManager.SwitchCamera(0);
-                    }
-                    if (index == 1)
-                    {
-                        GameObject par = GameObject.FindGameObjectWithTag("Particle");
-                        for (int i = 0; i < par.transform.childCount; i++) {
-
-                            par.transform.GetChild(i).gameObject.SetActive(true);
-                        }
-                    }
-                    else {
-                        GameObject par = GameObject.FindGameObjectWithTag("Particle");
-                        for (int i = 0; i < par.transform.childCount; i++)
-                        {
-                            par.transform.GetChild(i).gameObject.SetActive(false);
-                        }
-                    }
-                    layers[index].gameObject.SetActive(true);
-            });
+            }
+            else
+            {
+                CameraManager.SwitchCamera(0);
+            }
+        if (index == 1)
+        {
+            GameObject par = GameObject.FindGameObjectWithTag("Particle");
+            for (int i = 0; i < par.transform.childCount; i++)
+            {
+
+                par.transform.GetChild(i).gameObject.SetActive(true);
+            }
         }
+        else
+        {
+            GameObject par = GameObject.FindGameObjectWithTag("Particle");
+            for (int i = 0; i < par.transform.childCount; i++)
+            {
+                par.transform.GetChild(i).gameObject.SetActive(false);
+            }
+        }
+        layers[index].gameObject.SetActive(true);
     }
+
+
+    public void SwitchToGlobalWeather()
+    {
+        OnButtnClick(2);
+        layers[2].GetComponent<GCJKLayer>().OnGlobalWeatherClick();
+    }
+
+    public void SwitchToGlobalWaterHeight()
+    {
+        OnButtnClick(5);
+        layers[5].GetComponent<SWYJLayer>().OnGlobalSWBtnClick();
+    }
+
     // Update is called once per frame
     void Update()
     {

+ 19 - 3
Assets/Scripts/UI/UIView/YZT/RuntimePoint.cs

@@ -6,7 +6,7 @@ using UnityEngine;
 using UnityEngine.EventSystems;
 using UnityEngine.UI;
 
-public class RuntimePoint : MonoBehaviour
+public class RuntimePoint : MonoBehaviour,IPointerDownHandler,IPointerUpHandler
 {
     public Button btn;
 
@@ -20,8 +20,12 @@ public class RuntimePoint : MonoBehaviour
     public RectTransform arrow;
 
     public GameObject bingObj;
-    void Awake() {
 
+    public Action onPointClick;
+
+    public float lastTime;
+    void Awake() {
+       
       //  arrow.DOLocalMoveY(-40, 1.0f).SetLoops(-1, LoopType.Yoyo);
     }
     // Start is called before the first frame update
@@ -52,6 +56,18 @@ public class RuntimePoint : MonoBehaviour
         this.GetComponent<RectTransform>().localScale = Vector3.one / bi;
     }
 
-  
+    public void OnPointerDown(PointerEventData eventData)
+    {
+        lastTime = Time.time;
+    }
+
+    public void OnPointerUp(PointerEventData eventData)
+    {
+        if (Time.time - lastTime < 0.5f)
+        {
+            onPointClick?.Invoke();
+        }
+       
+    }
 
 }

+ 39 - 21
Assets/Scripts/UI/UIView/YZT/YZTLayer.cs

@@ -314,25 +314,11 @@ public class YZTLayer : YZTRootLayer
             newPoint.bingObj.transform.localPosition = tempLocalPosition;
             newPoint.bingObj.name = temp.name;
 
-            
-            newPoint.btn.onClick.AddListener(() =>
+
+            newPoint.onPointClick = () =>
             {
-                
-                
-                if ((int)temp.type >= 6)
-                {
-                    CameraManager.SwitchCamera(0);
-                    viewMode = ViewMode.normal;
-                    StaticLod.instance.OnFoucusStatic(newPoint.staticImp);
-                    yZT.gameObject.SetActive(true);
-                    int index = FindIndexByLayerUnitName(temp.name);
-                    ChangeRightContent(index);
-                    middleContent.gameObject.SetActive(false);
-                    rightContent.gameObject.SetActive(false);
-                    LeftBtnClick(1, false);
-                }
-                
-            });
+                OnChooseNewPointClick(temp, newPoint);
+            };
             runtimePointLib.Add(newPoint);
         }
     }
@@ -347,9 +333,41 @@ public class YZTLayer : YZTRootLayer
         return -1;
     }
 
-    //void OnNewPointClick(HotPointData temp,) {
-    
-    //}
+    void OnChooseNewPointClick(HotPointData temp, RuntimePoint newPoint) {
+        if (newPoint.layerIDs.Count < 2)
+        {
+            OnNewPointClick(temp, newPoint);
+        }
+        else { 
+        
+        }
+    }
+
+    void OnNewPointClick(HotPointData temp, RuntimePoint newPoint)
+    {
+        if ((int)temp.type == 0 || (int)temp.type == 3 || (int)temp.type == 5) {
+            OnePicNav.instance.OnButtnClick(2);
+        } 
+        else if ((int)temp.type == 1 || (int)temp.type == 2) {
+            OnePicNav.instance.SwitchToGlobalWeather();
+        }
+        else if ((int)temp.type == 4)
+        {
+            OnePicNav.instance.SwitchToGlobalWaterHeight();
+        }
+        else if ((int)temp.type >= 6)
+        {
+            CameraManager.SwitchCamera(0);
+            viewMode = ViewMode.normal;
+            StaticLod.instance.OnFoucusStatic(newPoint.staticImp);
+            yZT.gameObject.SetActive(true);
+            int index = FindIndexByLayerUnitName(temp.name);
+            ChangeRightContent(index);
+            middleContent.gameObject.SetActive(false);
+            rightContent.gameObject.SetActive(false);
+            LeftBtnClick(1, false);
+        }
+    }
 
     async Task InitData() {
         await new WaitUntil(() => {

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