private void DeleteUnusedVariables() { SkillSearch.Update(SkillEditor.SelectedFsm); List <SkillVariable> unusedVariables = SkillSearch.GetUnusedVariables(SkillEditor.SelectedFsm); if (unusedVariables.get_Count() == 0) { EditorUtility.DisplayDialog(Strings.get_Command_Delete_Unused_Variables(), Strings.get_Label_No_unused_variables(), Strings.get_OK()); return; } if (Dialogs.YesNoDialog(Strings.get_Command_Delete_Unused_Variables(), string.Format(Strings.get_Command_Delete_Variables_Are_you_sure(), unusedVariables.get_Count()))) { SkillEditor.RegisterUndo(Strings.get_Menu_Delete_Unused_Variables()); List <SkillVariable> list = new List <SkillVariable>(unusedVariables); using (List <SkillVariable> .Enumerator enumerator = list.GetEnumerator()) { while (enumerator.MoveNext()) { SkillVariable current = enumerator.get_Current(); this.fsmVariablesEditor.DeleteVariable(current, false, false); } } this.Reset(); } }
private bool CheckDeleteVariable(string title, string warning, SkillVariable fsmVariable) { if (this.globalsOwner != null) { return(Dialogs.YesNoDialog(title, Strings.get_Label_Check_Edit_Global_Variable())); } return(this.fsmOwner == null || SkillSearch.GetUnusedVariables(this.fsmOwner).Contains(fsmVariable) || Dialogs.YesNoDialog(title, warning)); }