public static DrawState GetFsmStateDrawState(Skill fsm, SkillState state, bool selected)
        {
            bool active       = fsm.get_ActiveState() == state && fsm.get_Active();
            bool isBreakpoint = Skill.get_BreakAtState() == state;

            return(FsmDrawState.GetDrawState(fsm, selected, active, isBreakpoint, false));
        }
 public static DrawState GetDrawState(Skill fsm)
 {
     if (fsm == null || !fsm.get_Active() || fsm.get_Finished())
     {
         return(DrawState.Normal);
     }
     return(FsmDrawState.GetDrawState(fsm, false, fsm.get_Active(), Skill.get_BreakAtFsm() == fsm, false));
 }
        public static DrawState GetFsmTransitionDrawState(Skill fsm, SkillTransition transition, bool selected)
        {
            bool active = false;

            if (fsm.get_SwitchedState() || Skill.get_BreakAtFsm() == fsm)
            {
                active = (fsm.get_LastTransition() == transition && fsm.get_Active());
            }
            return(FsmDrawState.GetDrawState(fsm, selected, active, false, false));
        }