/// <summary> /// ステートのセーブ. /// </summary> /// <param name="machineName">ステートマシン名</param> public void SaveState(StateMachineName machineName) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); val.SaveState(); }
/// <summary> /// ステートの変更. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <param name="stateType">ステートタイプ</param> public void ChangeState(StateMachineName machineName, int stateType) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); val.ChangeState(stateType); }
/// <summary> /// ステートの追加. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <param name="stateType">ステートタイプ</param> /// <param name="state">ステート本体</param> public void AddState(StateMachineName machineName, int stateType, StateBase state) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); val.AddState(stateType, state); }
/// <summary> /// ステート本体の取得. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <returns>ステート</returns> public StateBase GetStateBase(StateMachineName machineName) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); return(val.GetStateBase()); }
/// <summary> /// セーブしたステートの取得. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <returns>ステートタイプ</returns> public int GetSaveState(StateMachineName machineName) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); return(val.GetSaveState()); }
/// <summary> /// ステートタイプの取得. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <returns>ステートタイプ</returns> public int GetState(StateMachineName machineName) { StateMachine val = null; if (StateMachineMap.TryGetValue(machineName, out val) == false) { return(-1); } return(val.GetState()); }
/// <summary> /// ステートマシンの解放. /// </summary> /// <param name="machineName">ステートマシン名</param> public void Release(StateMachineName machineName) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); if (val != null) { val.Release(); StateMachineMap.Remove(machineName); } }
/// <summary> /// 更新. /// </summary> /// <param name="machineName">ステートマシン名</param> /// <param name="delta">経過時間</param> public void Update(StateMachineName machineName, float delta) { StateMachine val = null; StateMachineMap.TryGetValue(machineName, out val); // ステートマシンが存在しなければ、ここで終了 if (val == null) { return; } val.Update(delta); }
/// <summary> /// ステートマシンマップの作成. /// </summary> public void CreateStateMachineMap(StateMachineName name) { StateMachineMap.Add(name, new StateMachine()); }