GetInstance() public static method

public static GetInstance ( ) : DataStore
return DataStore
Exemplo n.º 1
0
        public Plugin(string name, string code, DirectoryInfo path, PluginType type)
        {
            Name    = name;
            Code    = code;
            RootDir = path;
            Type    = type;
            Timers  = new Dictionary <string, TimedEvent>();

            if (type == PluginType.Python)
            {
                PyEngine = IronPython.Hosting.Python.CreateEngine();
                Scope    = PyEngine.CreateScope();
                Scope.SetVariable("Plugin", this);
                Scope.SetVariable("Server", Pluton.Server.GetServer());
                Scope.SetVariable("DataStore", DataStore.GetInstance());
                Scope.SetVariable("Util", Util.GetUtil());
                Scope.SetVariable("World", World.GetWorld());
                Scope.SetVariable("Commands", PluginCommands.GetInstance());
                PyEngine.Execute(code, Scope);
                Class   = PyEngine.Operations.Invoke(Scope.GetVariable(name));
                Globals = PyEngine.Operations.GetMemberNames(Class);
            }
            else
            {
                JSEngine = new Engine(cfg => cfg.AllowClr(typeof(UnityEngine.GameObject).Assembly,
                                                          typeof(PlayerInventory).Assembly))
                           .SetValue("Server", Server.GetServer())
                           .SetValue("DataStore", DataStore.GetInstance())
                           .SetValue("Util", Util.GetUtil())
                           .SetValue("World", World.GetWorld())
                           .SetValue("Plugin", this)
                           .SetValue("Commands", PluginCommands.GetInstance())
                           .Execute(code);
                JavaScriptParser parser = new JavaScriptParser();
                Globals = (from function in parser.Parse(Code).FunctionDeclarations
                           where (function.Id.Name.StartsWith("On_") || function.Id.Name.EndsWith("Callback"))
                           select function.Id.Name).ToList <string>();
            }
        }
Exemplo n.º 2
0
        public static void Init()
        {
            if (!Directory.Exists(Util.GetPublicFolder()))
            {
                Directory.CreateDirectory(Util.GetPublicFolder());
            }

            Logger.Init();
            CryptoExtensions.Init();
            DataStore.GetInstance().Load();
            Server.GetInstance();

            CSharpPluginLoader.GetInstance();
            CSScriptPluginLoader.GetInstance();
            JSPluginLoader.GetInstance();
            PYPluginLoader.GetInstance();

            InstallThreadedOutput();

            ReloadTimers();
            server.official = false;
        }
Exemplo n.º 3
0
        public override void Load(string code = "")
        {
            try
            {
                UserData.RegistrationPolicy = InteropRegistrationPolicy.Automatic;
                script = new Script();
                script.Globals["Plugin"]                = this;
                script.Globals["Util"]                  = Util.GetInstance();
                script.Globals["Server"]                = Server.GetInstance();
                script.Globals["DataStore"]             = DataStore.GetInstance();
                script.Globals["Commands"]              = chatCommands;
                script.Globals["GlobalData"]            = GlobalData;
                script.Globals["ServerConsoleCommands"] = consoleCommands;
                script.Globals["Web"]   = Web.GetInstance();
                script.Globals["World"] = World.GetInstance();
                script.DoString(code);

                Author  = script.Globals.Get("Author").String;
                About   = script.Globals.Get("About").String;
                Version = script.Globals.Get("Version").String;

                State = PluginState.Loaded;
                foreach (DynValue v in script.Globals.Keys)
                {
                    Globals.Add(v.ToString().Replace("\"", ""));
                }
                Tables = script.Globals;
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
                State = PluginState.FailedToLoad;
            }

            PluginLoader.GetInstance().OnPluginLoaded(this);
        }