public bool AddOrReplaceScript(string name, string script) { if (string.IsNullOrEmpty(name)) { return(false); } var coreCtrl = luaCoreCtrls .FirstOrDefault(c => c.name == name); if (coreCtrl != null) { coreCtrl.ReplaceScript(script); return(true); } var coreState = new Models.Data.LuaCoreSetting { name = name, script = script, }; settings.GetLuaCoreSettings().Add(coreState); coreCtrl = new Controllers.LuaCoreCtrl(); luaCoreCtrls.Add(coreCtrl); coreCtrl.Run(settings, coreState, luaApis); Save(); InvokeOnLuaCoreCtrlListChangeIgnoreError(); return(true); }
void AddNewLuaCoreCtrl(Models.Data.LuaCoreSetting coreState) { var coreCtrl = new Controllers.LuaCoreCtrl(false); luaCoreCtrls.Add(coreCtrl); coreCtrl.Run(settings, coreState, luaApis); coreCtrl.OnStateChange += OnRequireMenuUpdateHandler; }
List <Controllers.LuaCoreCtrl> InitLuaCores( Settings settings, Models.Apis.LuaApis luaApis) { var cores = new List <Controllers.LuaCoreCtrl>(); foreach (var luaCoreState in settings.GetLuaCoreSettings()) { var luaCtrl = new Controllers.LuaCoreCtrl(); luaCtrl.Run(settings, luaCoreState, luaApis); cores.Add(luaCtrl); } return(cores); }
/// <summary> /// true: require refresh false: not need refresh /// </summary> /// <param name="name"></param> /// <param name="script"></param> /// <returns></returns> bool AddOrReplaceScriptQuiet(string name, string script) { var coreCtrl = luaCoreCtrls.FirstOrDefault(c => c.name == name); if (coreCtrl != null) { coreCtrl.ReplaceScript(script); return(false); } var coreState = new Models.Data.LuaCoreSetting { name = name, script = script, }; settings.GetLuaCoreSettings().Add(coreState); coreCtrl = new Controllers.LuaCoreCtrl(); luaCoreCtrls.Add(coreCtrl); coreCtrl.Run(settings, coreState, luaApis); return(true); }