public bool AddState(State state)
 {
     // check for repeated states
     if (!IsStateActive(state) || allowRepeatedStates)
     {
         ActiveStates.Add(state);
         state.Trigger_OnStateEnter();
         return true;
     }
     return false;
 }