using Thousandto.Code.Center; using Thousandto.Plugins.Common.UniScene; using System; using System.Collections.Generic; using System.Text; using SceneEditor.Proxy.Plugin; namespace Thousandto.Code.Logic { public class TriggerManager { private Dictionary _triggers = new Dictionary(); public void ResetByScene(GameScene scene) { ClearData(); if (scene.TriggerRoot == null) return; for (int i = 0; i < scene.TriggerRoot.childCount; ++i) { var trans = scene.TriggerRoot.GetChild(i); var trigger = trans.GetComponent(); if (trigger != null) { _triggers.Add(trigger.m_id, trigger); } } } public void ClearData() { _triggers.Clear(); } public Trigger FindTrigger(int id) { Trigger ret = null; _triggers.TryGetValue(id, out ret); return ret; } public void SetTriggerEnable(int id, bool enable) { var trigger = FindTrigger(id); if(trigger != null) { trigger.gameObject.SetActive(enable); } } } }