public bool RemoveState(State state, bool removeAll = false) { if (IsStateActive(state)) { if (removeAll) { while (IsStateActive(state)) { state.Trigger_OnStateExit(); ActiveStates.Remove(state); } } else { state.Trigger_OnStateExit(); ActiveStates.Remove(state); } return true; } return false; }