public static Behavior GetImportModulesBehavior(string filePath, List <Module> modules) { string previousFilePath = GlobalData.CurrentFilePath; return(new Behavior(isRedo => { int count = modules.Count; for (int idx = 0; idx < count; ++idx) { Module module = modules[idx]; ModuleUtil.CreateModuleBehavior(module.Name, module.Elements, false, isRedo); } GlobalData.CurrentFilePath = filePath; }, isReUndo => { int count = modules.Count; for (int idx = 0; idx < count; ++idx) { Module module = modules[idx]; ModuleUtil.RemoveModuleBehavior(module.Name); } GlobalData.CurrentFilePath = previousFilePath; }, BehaviorType.ImportModules, false)); }
public static Behavior GetCreateModuleBehavior(string moduleName) { string currentModule = GlobalData.CurrentModule; return(new Behavior(isReDo => ModuleUtil.CreateModuleBehavior(moduleName), isReUndo => ModuleUtil.RemoveModuleBehavior(moduleName, currentModule), BehaviorType.CreateModule)); }
public static Behavior GetRemoveAllModuleBehavior(List <string> modules, bool combineWithNextBehavior = false) { return(new Behavior(isRedo => { int count = modules.Count; for (int idx = 0; idx < count; ++idx) { ModuleUtil.RemoveModuleBehavior(modules[idx]); } }, isReUndo => { int count = modules.Count; for (int idx = 0; idx < count; ++idx) { ModuleUtil.CreateModuleBehavior(modules[idx], null, false, true); } }, BehaviorType.RemoveAllModule, combineWithNextBehavior)); }
public static Behavior GetRemoveModuleBehavior(string moduleName) { return(new Behavior(isReDo => ModuleUtil.RemoveModuleBehavior(moduleName), isReUndo => ModuleUtil.CreateModuleBehavior(moduleName, null, true, true), BehaviorType.RemoveModule)); }