From 0c8cbe93295dac5aea913437b4e598c0bde3c2ad Mon Sep 17 00:00:00 2001 From: zhangxl <1062808664@qq.com> Date: Fri, 19 Jul 2024 10:53:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B8=AE=E5=8A=A9=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/DemoGame/GameScript/Hotfix/Helper.meta | 8 ++ .../GameScript/Hotfix/Helper/CommonHelper.cs | 82 +++++++++++++++++++ .../Hotfix/Helper/CommonHelper.cs.meta | 3 + .../GameScript/Hotfix/Helper/UniTaskHelper.cs | 31 +++++++ .../Hotfix/Helper/UniTaskHelper.cs.meta | 3 + 5 files changed, 127 insertions(+) create mode 100644 Assets/DemoGame/GameScript/Hotfix/Helper.meta create mode 100644 Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs create mode 100644 Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs.meta create mode 100644 Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs create mode 100644 Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs.meta diff --git a/Assets/DemoGame/GameScript/Hotfix/Helper.meta b/Assets/DemoGame/GameScript/Hotfix/Helper.meta new file mode 100644 index 0000000..ef2e4fb --- /dev/null +++ b/Assets/DemoGame/GameScript/Hotfix/Helper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b3afab971ec1794fb300420a7212e53 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs b/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs new file mode 100644 index 0000000..a5fde4c --- /dev/null +++ b/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs @@ -0,0 +1,82 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace ZC +{ + public static class CommonHelper + { + public static T FindChildDeep(this Transform self, string name) where T : Object + { + Transform findDeep = null; + FindDeep(self, name, ref findDeep); + if (findDeep == null) + { + Debug.LogError("未找到此组件"); + } + + var component = findDeep.GetComponent(); + return component; + } + + static void FindDeep(Transform tran, string name, ref Transform transform) + { + if (tran.name == name) + { + transform = tran; + return; + } + + for (var i = 0; i < tran.childCount; i++) + { + FindDeep(tran.GetChild(i), name, ref transform); + } + } + + public static List FindChildDeeps(this Transform self) where T : Object + { + List list = new List(); + FindDeeps(self, ref list); + if (list.Count <= 0) + { + Debug.LogError("未找到此组件"); + } + + return list; + } + + static void FindDeeps(Transform tran, ref List list) + { + var component = tran.GetComponent(); + if (component != null) + list.Add(component); + + for (var i = 0; i < tran.childCount; i++) + { + FindDeeps(tran.GetChild(i), ref list); + } + } + + /// + /// 判断是否在某个物体范围内(范围型判断,超出返回false) + /// 基于MeshRender的实现方式 + /// + /// + /// + /// + public static bool IsInRangeAutoFix(Transform tran, Transform self) + { + var meshRenderer = tran.GetComponent(); + + Bounds rendererBounds = self.GetComponent().bounds; + Bounds colliderBounds = meshRenderer.bounds; + bool rendererIsInsideBox = colliderBounds.Intersects(rendererBounds); + + return rendererIsInsideBox; + } + + public static void ChangeProcedure(ProcedureType procedureType) + { +// ZCGame.ProcedureManager.ChangeProcedure(procedureType); + } + } +} \ No newline at end of file diff --git a/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs.meta b/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs.meta new file mode 100644 index 0000000..422ca96 --- /dev/null +++ b/Assets/DemoGame/GameScript/Hotfix/Helper/CommonHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5bc4f7c26faa46b98ff244d747c4394a +timeCreated: 1712048369 \ No newline at end of file diff --git a/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs b/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs new file mode 100644 index 0000000..ccca177 --- /dev/null +++ b/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs @@ -0,0 +1,31 @@ +using Cysharp.Threading.Tasks; +using UnityEngine; + +namespace ZC +{ + public static class UniTaskHelper + { + public static async UniTask WaitFinish(string isFinish) + { + Debug.Log("000000000000000"); + while (isFinish == "none") + { + Debug.Log("111111111111111"); + await UniTask.Yield(); + } + + Debug.Log("22222222222222222"); + } + + public static async UniTask LoadingSceneAsync(string sceneName) + { + await UniTask.Delay(1000); + +// var ui = ZCGame.UIManager.ShowUI(UIType.LoadingUI); +// var loadingUI = ui as LoadingUI; +// +// await ResourcesLocalComponent.Instance.LoadSceneAsync(sceneName, callback: loadingUI.UpdateSlider); +// ZCGame.UIManager.HideUI(UIType.LoadingUI); + } + } +} \ No newline at end of file diff --git a/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs.meta b/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs.meta new file mode 100644 index 0000000..fb82db1 --- /dev/null +++ b/Assets/DemoGame/GameScript/Hotfix/Helper/UniTaskHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cd953cadd6584d679bdbe60bf38be040 +timeCreated: 1719126488 \ No newline at end of file