public static void Start(Skill fsm) { DebugFlow.UpdateTime(); DebugFlow.Active = true; DebugFlow.SyncFsmLog(fsm); DebugFlow.StartedDebugFrame = Time.get_frameCount(); DebugFlow.variablesCache.Clear(); using (List <Skill> .Enumerator enumerator = SkillEditor.FsmList.GetEnumerator()) { while (enumerator.MoveNext()) { Skill current = enumerator.get_Current(); if (current.EnableDebugFlow) { DebugFlow.variablesCache.Add(current, new SkillVariables(current.get_Variables())); } } } DebugFlow.globalVariablesCache = new SkillVariables(SkillVariables.get_GlobalVariables()); }
public void Step() { switch (this.StepMode) { case FsmDebugger.FsmStepMode.StepFrame: EditorApplication.set_isPaused(false); EditorApplication.Step(); Skill.set_StepToStateChange(false); break; case FsmDebugger.FsmStepMode.StepToStateChange: EditorApplication.set_isPaused(false); Skill.set_StepToStateChange(true); Skill.set_StepFsm(SkillEditor.SelectedFsm); break; case FsmDebugger.FsmStepMode.StepToAnyStateChange: EditorApplication.set_isPaused(false); Skill.set_StepToStateChange(true); Skill.set_StepFsm(null); break; } DebugFlow.UpdateTime(); }