public static void AddState(State state) { switch (state.Type) { case States.Idle: var idle = state as IdleState; IdleStates.Add(idle); break; case States.Build: var build = state as BuildState; BuildStates.Add(build); break; case States.Attack: var attack = state as AttackState; AttackStates.Add(attack); break; case States.Conquer: var conquer = state as ConquerState; ConquerStates.Add(conquer); break; case States.Move: var move = state as MoveState; MoveStates.Add(move); break; } }
public static void RemoveState(State state) { switch (state.Type) { case States.Idle: if (IdleStates.Contains(state)) { IdleStates.Remove(state); } break; case States.Build: if (BuildStates.Contains(state)) { BuildStates.Remove(state); } break; case States.Attack: if (AttackStates.Contains(state)) { AttackStates.Remove(state); } break; case States.Conquer: if (ConquerStates.Contains(state)) { ConquerStates.Remove(state); } break; case States.Move: if (MoveStates.Contains(state)) { MoveStates.Remove(state); } break; } }