public void RegisterTransition(FSMTransition transition)
 {
     if (!this.transitions.ContainsKey(transition.fromState)) {
       this.transitions[transition.fromState] = new List<FSMTransition>();
     }
     transition.UpdateConditions();
     this.transitions[transition.fromState].Add(transition);
     // Debug.Log("Transition registered from state " + transition.fromState + " to " + transition.toState + " with " + transition.conditions.Count + " conditions. There are transition from " + this.transitions.Count + " states registered");
 }