Exemple #1
0
        private static void RegisterServerOnlyCvars(EngineConfiguration configuration)
        {
            // fs - File system.
            ScriptingInterface.RegisterCvarString("fs_server", "Server DLL location", CvarFlag.ReadOnly, configuration.ServerDLL);

            // sv - Server.
            sv_cheats = ScriptingInterface.RegisterCvarBool("sv_cheats", "Enable cheats", CvarFlag.WriteProtected, false);
            ScriptingInterface.RegisterCvarInt("sv_fps", "Amount of server frames per second", CvarFlag.WriteProtected, 20, 1, 1000);

            ScriptingInterface.RegisterCvarCallback <int>("sv_fps", sv_fpsCallback);
        }
Exemple #2
0
        private static void RegisterCvars(EngineConfiguration configuration)
        {
            RegisterSharedCvars(configuration);

            if (HasServer)
            {
                RegisterServerOnlyCvars(configuration);
            }

            if (HasClient)
            {
                RegisterClientOnlyCvars(configuration);
            }
        }
Exemple #3
0
        private static void Initialize(EngineConfiguration configuration)
        {
            // Create the scripting interface first so any other component can register their cvars/commands.
            ScriptingInterface = SystemFactory.CreateScriptingInterface();

            // Register cvars/commands that are required by the engine.
            RegisterCvars(configuration);
            RegisterCommands();

            // Create the file system now so that the client/server dlls can be loaded.
            FileSystem = SystemFactory.CreateFileSystem();

            if (HasServer)
            {
                server = LoadDLL <IServer>("fs_server");

                server.Initialize();
            }

            if (HasClient)
            {
                client = LoadDLL <IClient>("fs_client");

                client.Initialize();
            }

            ResourceManager = SystemFactory.CreateResourceManager();
            SoundSystem     = SystemFactory.CreateSoundSystem();
            Window          = SystemFactory.CreateWindow();
            Renderer        = SystemFactory.CreateRenderer();
            Timer           = SystemFactory.CreateTimer();

            if (HasServer)
            {
                server.Load();
            }

            if (HasClient)
            {
                Renderer.Initialize();
                client.Load();
                SoundSystem.Initialize();
            }
        }