public bool CanTransition(EBehaviourTransition trans) { // Check for NullTransition before changing the current state if (trans == EBehaviourTransition.None) { Debug.LogError("FSM ERROR: NullTransition is not allowed for a real transition"); return(false); } EBehaviourStateID id = _CurState.GetOutputState(trans); if (id == EBehaviourStateID.None) { // Debug.LogWarning("FSM ERROR: State " + _CurStateID.ToString() + " does not have a target state " + // " for transition " + trans.ToString()); return(false); } return(true); }