Beispiel #1
0
        public PedestrianGame()
        {
            Instance = this;
            graphics = new GraphicsDeviceManager(this)
            {
                // Fill player's screen resolution
                PreferredBackBufferWidth  = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width,
                PreferredBackBufferHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height,
            };

            Content.RootDirectory = "Content";

            Events = new EventEmitter <GameEvents, IEntity>(new CoreEventsComparer());
            Events.AddObserver(GameEvents.GameStart, (e) =>
            {
                CurrentState = GameState.Playing;
                if (scene != null)
                {
                    scene.Unload();
                }
                scene = new Scene(NumPlayers);
                SoundEffect.MasterVolume = 1;
            });
            Events.AddObserver(GameEvents.GameOver, (e) =>
            {
                CurrentState             = GameState.GameOver;
                SoundEffect.MasterVolume = 0;
            });
            Events.AddObserver(GameEvents.LoadMenu, (e) =>
            {
                CurrentState = GameState.Menu;
            });
            Events.AddObserver(GameEvents.Exit, (e) =>
            {
                Exit();
            });
            Events.AddObserver(GameEvents.Resume, (e) =>
            {
                CurrentState = GameState.Playing;
            });
        }