예제 #1
0
        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();
                }
            }
        }