修复模块切换bug

This commit is contained in:
shenjianxing 2025-01-14 17:56:57 +08:00
parent aed257f957
commit 114b996c3c
2 changed files with 14 additions and 1 deletions

View File

@ -29,6 +29,10 @@ public class DeviceController : MonoSingleton<DeviceController>
private void OnQuit(OnModuleQuit quit)
{
foreach (var item in deviceDict)
{
item.Value.item.Close();
}
deviceDict.Clear();
}

View File

@ -18,7 +18,8 @@ public class DeviceItem : MonoBehaviour
var effect = gameObject.GetOrAddComponent<HighlightEffect>();
gameObject.GetOrAddComponent<HighlightTrigger>();
effect.outlineColor = Color.green;
StringEventSystem.Global.Register<string[]>(Global.HighLightTrigger, OnHighLightTriggerEvent).UnRegisterWhenGameObjectDestroyed(gameObject);
Debug.LogError("Regitser £º " + gameObject.name);
StringEventSystem.Global.Register<string[]>(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<string[]>(Global.HighLightTrigger, OnHighLightTriggerEvent);
}
private void OnHighLightTriggerEvent(string[] obj)
{
if (obj.Length > 0)