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(); } }; }
public virtual void Initialize(GameResources resources) { Resources = resources; }