From 114b996c3c6737444faa95f86f7310843bba5b2d Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Tue, 14 Jan 2025 17:56:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9D=97=E5=88=87?= =?UTF-8?q?=E6=8D=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Controller/DeviceController.cs | 4 ++++ Assets/Scripts/Item/DeviceItem.cs | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Controller/DeviceController.cs b/Assets/Scripts/Controller/DeviceController.cs index 5b7b7195..6071ad20 100644 --- a/Assets/Scripts/Controller/DeviceController.cs +++ b/Assets/Scripts/Controller/DeviceController.cs @@ -29,6 +29,10 @@ public class DeviceController : MonoSingleton private void OnQuit(OnModuleQuit quit) { + foreach (var item in deviceDict) + { + item.Value.item.Close(); + } deviceDict.Clear(); } diff --git a/Assets/Scripts/Item/DeviceItem.cs b/Assets/Scripts/Item/DeviceItem.cs index c1f33bc8..ef5d8d0a 100644 --- a/Assets/Scripts/Item/DeviceItem.cs +++ b/Assets/Scripts/Item/DeviceItem.cs @@ -18,7 +18,8 @@ public class DeviceItem : MonoBehaviour var effect = gameObject.GetOrAddComponent(); gameObject.GetOrAddComponent(); effect.outlineColor = Color.green; - StringEventSystem.Global.Register(Global.HighLightTrigger, OnHighLightTriggerEvent).UnRegisterWhenGameObjectDestroyed(gameObject); + Debug.LogError("Regitser " + gameObject.name); + StringEventSystem.Global.Register(Global.HighLightTrigger, OnHighLightTriggerEvent); } if (device.MeshCollider) { @@ -40,6 +41,14 @@ public class DeviceItem : MonoBehaviour } } + public void Close() + { + device = null; + tipItem = null; + Debug.LogError(gameObject.name); + StringEventSystem.Global.UnRegister(Global.HighLightTrigger, OnHighLightTriggerEvent); + } + private void OnHighLightTriggerEvent(string[] obj) { if (obj.Length > 0)