public virtual void Dispose() { _stateMachine.Dispose(); _stopwatch.Stop(); _stopwatch.Reset(); _controllerDisposable.Cancel(); }
/// <summary>注销状态机</summary> public void Unregister(int name, bool isDispose = false) { IStateMachine fsm = mFSMMapper.Remove(name); if (isDispose && (fsm != null)) { fsm.Dispose(); } }
public void Dispose() { var list = mFSMMapper.Keys; IStateMachine fsm = default; int max = list.Count; for (int i = 0; i < max; i++) { fsm = mFSMMapper.GetValue(list[i]); #if ILRUNTIME fsm?.Dispose(); #else Utils.Reclaim(fsm); #endif } #if ILRUNTIME mFSMMapper?.Dispose(); #else Utils.Reclaim(ref mFSMMapper); #endif }