Преглед на файлове

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

Void_F преди 9 месеца
родител
ревизия
b896cdb541
променени са 5 файла, в които са добавени 126 реда и са изтрити 19 реда
  1. 3 1
      Assets/AIPagedLod/Scripts/WebGL/CameraBirdSec.cs
  2. 48 0
      Assets/LerpSlider.cs
  3. 11 0
      Assets/LerpSlider.cs.meta
  4. 46 1
      Assets/Prefabs/UI/RuntimePoint.prefab
  5. 18 17
      Assets/Prefabs/WaterRangeCtrl.prefab

+ 3 - 1
Assets/AIPagedLod/Scripts/WebGL/CameraBirdSec.cs

@@ -81,10 +81,12 @@ public class CameraBirdSec : MonoBehaviour
         bool specialUI = false;
         if (GetPointerOverUIElement(out GameObject uiElement))
         {
+            
             // 获取 UI 元素的类型
             if (uiElement.TryGetComponent<Button>(out Button button))
             {
-                if (uiElement.transform.parent.TryGetComponent<RuntimePoint>(out RuntimePoint rp)) {
+                
+                if (uiElement.transform.TryGetComponent<RuntimePoint>(out RuntimePoint rp)) {
                     specialUI = true;
                 }
             }

+ 48 - 0
Assets/LerpSlider.cs

@@ -0,0 +1,48 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+public class LerpSlider : UnityEngine.UI.Slider, IPointerDownHandler
+{
+    private float lerpDuration = 0.08f; // 过渡时间
+
+    private float targetValue;
+    private bool isLerping;
+
+
+
+    protected override void Update()
+    {
+        base.Update();
+        if (isLerping)
+        {
+            // 平滑过渡到目标值
+            value = Mathf.Lerp(value, targetValue, Time.deltaTime / lerpDuration);
+
+            // 检查是否接近目标值,结束过渡
+            if (Mathf.Abs(value - targetValue) < 0.01f)
+            {
+                value = targetValue;
+                isLerping = false;
+            }
+        }
+    }
+
+    public void OnPointerDown(PointerEventData eventData)
+    {
+        // 计算点击位置的值
+        RectTransformUtility.ScreenPointToLocalPointInRectangle(
+            GetComponent<RectTransform>(), eventData.position, eventData.pressEventCamera, out var localPoint);
+
+        // 计算滑块的点击位置对应的值
+        float normalizedValue = Mathf.InverseLerp(
+            GetComponent<RectTransform>().rect.xMin,
+            GetComponent<RectTransform>().rect.xMax,
+            localPoint.x
+        );
+
+        targetValue = Mathf.Clamp01(normalizedValue); // 确保值在0到1之间
+        isLerping = true;
+    }
+}

+ 11 - 0
Assets/LerpSlider.cs.meta

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

+ 46 - 1
Assets/Prefabs/UI/RuntimePoint.prefab

@@ -58,6 +58,7 @@ GameObject:
   - component: {fileID: 2742062590507750192}
   - component: {fileID: -6917283281914006372}
   - component: {fileID: 2238104553685385063}
+  - component: {fileID: -358605054987661017}
   m_Layer: 5
   m_Name: RuntimePoint
   m_TagString: Untagged
@@ -129,7 +130,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
@@ -146,6 +147,50 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!114 &-358605054987661017
+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: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 0}
+    m_HighlightedColor: {r: 0.36477983, g: 0.83235186, b: 1, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 2238104553685385063}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &4884575910827390704
 GameObject:
   m_ObjectHideFlags: 0

+ 18 - 17
Assets/Prefabs/WaterRangeCtrl.prefab

@@ -404,8 +404,8 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 8253048676979172416}
-  - component: {fileID: 8253048676979172478}
   - component: {fileID: 8253048676979172417}
+  - component: {fileID: 7964902893140175114}
   m_Layer: 5
   m_Name: WaterRangeSilder
   m_TagString: Untagged
@@ -436,7 +436,21 @@ RectTransform:
   m_AnchoredPosition: {x: 960, y: -995}
   m_SizeDelta: {x: 612, y: 12}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &8253048676979172478
+--- !u!114 &8253048676979172417
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8253048676979172419}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding: {x: -3.5, y: -3.5, z: -3.5, w: -3.5}
+  m_Softness: {x: 1, y: 1}
+--- !u!114 &7964902893140175114
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -445,7 +459,7 @@ MonoBehaviour:
   m_GameObject: {fileID: 8253048676979172419}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
+  m_Script: {fileID: 11500000, guid: 7e03082bc236b4b46b1363761152150b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
   m_Navigation:
@@ -487,20 +501,7 @@ MonoBehaviour:
   m_OnValueChanged:
     m_PersistentCalls:
       m_Calls: []
---- !u!114 &8253048676979172417
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8253048676979172419}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Padding: {x: -3.5, y: -3.5, z: -3.5, w: -3.5}
-  m_Softness: {x: 1, y: 1}
+  lerpDuration: 2
 --- !u!1 &8253048677225292345
 GameObject:
   m_ObjectHideFlags: 0