53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|