public FSMSystem(IList <FSMState <T> > addStates, FSMState <T> globalState)
 {
     AddStates(addStates);
     GlobalState = globalState;
     ResetToDefaultState();
 }
 public void ResetToDefaultState()
 {
     CurrentState   = states[0];
     CurrentStateID = states[0].ID;
     CurrentState.DoBeforeEntering();
 }