Files
Main/Assets/Code/Logic/_Required/MapInfo/TriggerManager.cs

53 lines
1.3 KiB
C#
Raw Normal View History

2025-01-25 04:38:09 +08:00
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<int, Trigger> _triggers = new Dictionary<int, Trigger>();
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<Trigger>();
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);
}
}
}
}