protected void SetDirty(bool checkAll = false) { Skill fsmOwner = this.fsmOwner; if (fsmOwner != null) { if (!EditorApplication.get_isPlayingOrWillChangePlaymode() && FsmErrorChecker.FsmHasErrors(fsmOwner)) { ActionReport.Remove(fsmOwner.get_Owner() as PlayMakerFSM); fsmOwner.Reinitialize(); } SkillEditor.SetFsmDirty(fsmOwner, checkAll, false, true); } if (this.globalsOwner != null) { EditorUtility.SetDirty(this.globalsOwner); if (!EditorApplication.get_isPlayingOrWillChangePlaymode() && SkillEditor.SelectedFsmComponent != null && FsmErrorChecker.FsmHasErrors(SkillEditor.SelectedFsm)) { ActionReport.Remove(SkillEditor.SelectedFsmComponent); SkillEditor.SelectedFsm.Reinitialize(); } } }