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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        /// <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);
        }