public static void SetTransitionEvent(SkillTransition transition, SkillEvent fsmEvent)
 {
     SkillEditor.RegisterUndo(Strings.get_Command_Set_Transition_Event());
     SkillEditor.Builder.SetTransitionEvent(transition, fsmEvent);
     SkillEditor.GraphView.UpdateStateSize(SkillEditor.SelectedState);
     SkillSearch.Update(SkillEditor.SelectedFsm);
     SkillEditor.SetFsmDirty(true, false);
 }
        public static SkillTransition AddGlobalTransition(SkillState state, SkillEvent fsmEvent)
        {
            SkillEditor.RegisterUndo(Strings.get_Command_Add_Global_Transition());
            SkillTransition result = SkillEditor.Builder.AddGlobalTransition(state, fsmEvent);

            SkillEditor.GraphView.UpdateStateSize(state);
            SkillSearch.Update(state.get_Fsm());
            SkillEditor.SetFsmDirty(state.get_Fsm(), true, false, true);
            return(result);
        }
        public static void DeleteGlobalTransition(SkillTransition transition)
        {
            SkillEditor.RegisterUndo(Strings.get_Command_Delete_Global_Transition());
            SkillState transitionState = SkillBuilder.GetTransitionState(SkillEditor.SelectedFsm, transition);

            SkillEditor.Builder.DeleteGlobalTransition(transition);
            SkillSearch.Update(SkillEditor.SelectedFsm);
            SkillEditor.GraphView.UpdateStateSize(transitionState);
            SkillEditor.SetFsmDirty(true, false);
            Keyboard.ResetFocus();
        }
        public static void AddTransitionToState(SkillState state, string eventName = "")
        {
            SkillEditor.RegisterUndo(Strings.get_Command_Add_Transition());
            SkillTransition fsmTransition = SkillEditor.Builder.AddTransition(SkillEditor.SelectedState);

            fsmTransition.set_FsmEvent(SkillEvent.GetFsmEvent(eventName));
            SkillEditor.Selection.SelectTransition(fsmTransition);
            SkillEditor.GraphView.UpdateStateSize(SkillEditor.SelectedState);
            SkillSearch.Update(SkillEditor.SelectedFsm);
            SkillEditor.SetFsmDirty(true, false);
        }
 public static void UpdateAll()
 {
     SkillSearch.globalVariablesUsage.Clear();
     SkillSearch.GlobalVariablesUsageInitialized = true;
     using (List <Skill> .Enumerator enumerator = SkillEditor.FsmList.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             Skill current = enumerator.get_Current();
             SkillSearch.Update(current);
         }
     }
 }
 public static List <SkillVariable> GetUnusedVariables(Skill fsm)
 {
     SkillSearch.Update(fsm);
     return(SkillSearch.GetSearch(fsm).GetUnusedVariables());
 }