コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Game"/> class.
        /// </summary>
        public Game()
        {
            // Register the logger backend before anything else
            logListener = GetLogListener();

            if (logListener != null)
            {
                GlobalLogger.GlobalMessageLogged += logListener;
            }

            // Create all core services, except Input which is created during `Initialize'.
            // Registration takes place in `Initialize'.
            Script = new ScriptSystem(Services);
            Services.AddService(Script);

            SceneSystem = new SceneSystem(Services);
            Services.AddService(SceneSystem);

            Streaming = new StreamingManager(Services);

            Audio = new AudioSystem(Services);
            Services.AddService(Audio);
            Services.AddService <IAudioEngineProvider>(Audio);

            gameFontSystem = new GameFontSystem(Services);
            Services.AddService(gameFontSystem.FontSystem);
            Services.AddService <IFontFactory>(gameFontSystem.FontSystem);

            SpriteAnimation = new SpriteAnimationSystem(Services);
            Services.AddService(SpriteAnimation);

            DebugTextSystem = new DebugTextSystem(Services);
            Services.AddService(DebugTextSystem);

            DebugRenderSystem = new DebugRenderSystem(Services);
            Services.AddService(DebugRenderSystem);

            ProfilingSystem = new GameProfilingSystem(Services);
            Services.AddService(ProfilingSystem);

            VRDeviceSystem = new VRDeviceSystem(Services);
            Services.AddService(VRDeviceSystem);

            // Creates the graphics device manager
            GraphicsDeviceManager = new GraphicsDeviceManager(this);
            Services.AddService <IGraphicsDeviceManager>(GraphicsDeviceManager);
            Services.AddService <IGraphicsDeviceService>(GraphicsDeviceManager);

            AutoLoadDefaultSettings = true;
        }
コード例 #2
0
ファイル: GameSystemLoader.cs プロジェクト: zunath/MMXEngine
        public GameSystemLoader(EntityWorld world,
                                // Single
                                LoadButtonConfigurationSystem loadButtonConfigurationSystem,
                                // Update
                                GravitySystem gravitySystem,
                                PhysicsSystem physicsSystem,
                                PlayerStateSystem playerStateSystem,
                                EntityCollisionSystem entityCollisionSystem,
                                LevelCollisionSystem levelCollisionSystem,
                                CameraSystem cameraSystem,
                                SpriteSystem spriteSystem,
                                HeartbeatSystem heartbeatSystem,
                                DebugSystem debugSystem,
                                DebugTextSystem debugTextSystem,
                                // Draw
                                RenderSystem renderSystem,
                                RenderLevelSystem renderLevelSystem,
                                RenderCollisionBoxSystem renderCollisionBoxSystem,
                                RenderTextSystem renderTextSystem,
                                RenderStaticGraphicSystem renderStaticGraphicSystem,
                                RenderLifeBarSystem renderLifeBarSystem)
            : base(world)
        {
            // Single
            _loadButtonConfigurationSystem = loadButtonConfigurationSystem;

            // Update
            _gravitySystem         = gravitySystem;
            _physicsSystem         = physicsSystem;
            _playerStateSystem     = playerStateSystem;
            _entityCollisionSystem = entityCollisionSystem;
            _levelCollisionSystem  = levelCollisionSystem;
            _cameraSystem          = cameraSystem;
            _spriteSystem          = spriteSystem;
            _heartbeatSystem       = heartbeatSystem;
            _debugSystem           = debugSystem;
            _debugTextSystem       = debugTextSystem;

            // Draw
            _renderSystem              = renderSystem;
            _renderLevelSystem         = renderLevelSystem;
            _renderCollisionBoxSystem  = renderCollisionBoxSystem;
            _renderTextSystem          = renderTextSystem;
            _renderStaticGraphicSystem = renderStaticGraphicSystem;
            _renderLifeBarSystem       = renderLifeBarSystem;
        }