/* author: YKMoon * 状态机 * 初始化需要手动添加状态信息 AddState * Update里面来调用状态机运行StateMachineUpdate */ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace YKMoon { public class UFSMManager : USingletonMono { private List machines = new List(); public static void Reg(UFSM stateMachine) { if(!Instance.machines.Contains(stateMachine)) { Instance.machines.Add(stateMachine); } } public static void UnReg(UFSM stateMachine) { if(Instance.machines.Contains(stateMachine)) { Instance.machines.Remove(stateMachine); } } public static void Clear() { Instance.machines.Clear(); } private void Update() { for(int i = 0; i < machines.Count; i++) { machines[i].Update(Time.deltaTime, Time.unscaledDeltaTime); } } } }