Ejemplo n.º 1
0
        /// <summary>
        /// InitInternal
        /// </summary>
        internal bool InitInternal()
        {
            Log.Message("");
            Log.Message("-------- Game Initializing --------");

            var p = new GraphicsParameters();

            RenderSystem.ApplyParameters(ref p);

            //	going to fullscreen immediatly on startup lead to
            //	bugs and inconsistnecy for diferrent stereo modes,
            //	so we store fullscreen mode and apply it on next update step.
            requestFullscreenOnStartup = p.FullScreen;
            p.FullScreen = false;


            //	initialize drivers :
            GraphicsDevice.Initialize(p);
            InputDevice.Initialize();

            //	initiliaze core systems :
            Initialize(SoundSystem);
            Initialize(RenderSystem);
            Initialize(Keyboard);
            Initialize(Mouse);
            Initialize(Touch);

            //	initialize additional systems :
            Initialize(Console);
            Initialize(Frames);

            //	initialize game-specific systems :
            Initialize(UserInterface);
            Initialize(GameClient);
            Initialize(GameServer);
            Initialize(GameEditor);

            //	init game :
            Log.Message("");

            //	attach console sprite layer :
            Console.ConsoleSpriteLayer.Order = int.MaxValue / 2;
            RenderSystem.SpriteLayers.Add(Console.ConsoleSpriteLayer);

            Frames.FramesSpriteLayer.Order = int.MaxValue / 2 - 1;
            RenderSystem.SpriteLayers.Add(Frames.FramesSpriteLayer);

            initialized = true;

            Log.Message("-----------------------------------------");
            Log.Message("");

            return(true);
        }