Example #1
0
        public override void Initialize(GameResources resources)
        {
            base.Initialize(resources);

            startGameButton = new UIButton(resources)
            {
                Position = new Vector2(Game.WindowSize.X / 2, Game.WindowSize.Y * 2 / 5),
                Size     = new Vector2(200, 100),
                Text     = "Start Game",
            };
            startGameButton.OnClick += () =>
            {
                Game.SetCurrentScreen(new GameplayScreen(Game));
            };

            startFromSaveButton = new UIButton(resources)
            {
                Position = new Vector2(Game.WindowSize.X / 4, Game.WindowSize.Y * 2 / 5),
                Size     = new Vector2(200, 100),
                Text     = "Start Game From Last Save",
            };
            startFromSaveButton.OnClick += () =>
            {
                string json          = File.ReadAllText("save.json");
                var    gameplayState = JsonConvert.DeserializeObject <GameplayScreenState>(json, new JsonSerializerSettings()
                {
                    TypeNameHandling = TypeNameHandling.Auto
                });
                Game.SetCurrentScreen(new GameplayScreen(Game)
                {
                    State = gameplayState
                });
            };

            optionsButton = new UIButton(resources)
            {
                Position = new Vector2(Game.WindowSize.X / 2, Game.WindowSize.Y * 3 / 5),
                Size     = new Vector2(200, 100),
                Text     = "Options",
            };
            optionsButton.OnClick += () =>
            {
                Game.SetCurrentScreen(new OptionsScreen <MainMenuScreenState>(Game, Resources, State, Game.Screenshot()), false);
            };

            exitGameButton = new UIButton(resources)
            {
                Position = new Vector2(Game.WindowSize.X / 2, Game.WindowSize.Y * 4 / 5),
                Size     = new Vector2(200, 100),
                Text     = "Quit",
            };
            exitGameButton.OnClick += () =>
            {
                Game.Exit();
            };

            playPauseButton = new UIButton(resources)
            {
                Position = new Vector2(Game.WindowSize.X * 4 / 5, 25),
                Size     = new Vector2(100, 50),
                Text     = "Play/Pause",
            };
            playPauseButton.OnClick += () =>
            {
                if (MediaPlayer.State == MediaState.Playing)
                {
                    MediaPlayer.Pause();
                }
                else if (MediaPlayer.State == MediaState.Paused)
                {
                    MediaPlayer.Resume();
                }
            };
        }
Example #2
0
 public virtual void Initialize(GameResources resources)
 {
     Resources = resources;
 }