/// <summary> /// Initializes a new instance of the <see cref="EinstellungenScreen"/> class. /// </summary> /// <param name="graphicsManager">The graphics manager.</param> /// <param name="screenManager">The screen manager.</param> /// <param name="currentPlayerId">The current player ID.</param> public EinstellungenScreen(IBallerburgGraphicsManager graphicsManager, IScreenManager screenManager, int currentPlayerId) : base(graphicsManager, screenManager, "Ballerburg3D") { playerId = currentPlayerId; lblInventar = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = string.Format("{0}:", ResourceLoader.GetString("InventoryText")), Position = new Vector2(20, 70) }; lblBevoelkerung = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = "Bevölkerung:", Position = new Vector2(20, 170) }; lblVerzinsung = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = "Verzinsung:", Position = new Vector2(20, 220) }; lblKaufen = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = "Kaufen:", Position = new Vector2(20, 310) }; // Inventar lblMoney = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = screenManager.PlayerSettings[playerId].Money.ToString(CultureInfo.InvariantCulture) + " $", Position = new Vector2(220, 70) }; lblCannons = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = screenManager.PlayerSettings[playerId].NumCannons() + " Kanonen", Position = new Vector2(420, 70) }; lblStone = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = screenManager.PlayerSettings[playerId].Steinkugel.ToString(CultureInfo.InvariantCulture) + " Steinkugeln", Position = new Vector2(220, 120) }; lblIron = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = screenManager.PlayerSettings[playerId].Eisenkugeln.ToString(CultureInfo.InvariantCulture) + " Eisenkugeln", Position = new Vector2(420, 120) }; // Bevölkerung lblNumBevoelkerung = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = screenManager.PlayerSettings[playerId].Population.ToString(CultureInfo.InvariantCulture) + " Leute", Position = new Vector2(220, 170) }; // Verzinsing sldVerzinsung = new HSlider(this, new Rectangle(220, 240, 300, 20), screenManager.PlayerSettings[playerId].Verzinsung); sldVerzinsung.ValueChanged += OnVerzinsungChanged; sldVerzinsung.MaxValue = 100; sldVerzinsung.MinValue = 0; sldVerzinsung.Value = screenManager.PlayerSettings[playerId].Verzinsung; lblZinssatz = new GamePlayMenuLabel(this, 0, graphicsManager) { Text = string.Format("{0}%", screenManager.PlayerSettings[playerId].Verzinsung), Position = new Vector2(340, 260) }; // Kaufbuttons atbCannon = new ActionToggleButton(this, ResourceLoader.GetString("CannonText"), "4000$", 0) { Position = new Vector2(220, 310) }; atbCannon.Selected += delegate { screenManager.AudioManager.PlayKlickSound(); screenManager.PlayerSettings[playerId].Money -= 4000; screenManager.PlayerSettings[playerId].AddCannon(); }; atbPulver = new ActionToggleButton(this, ResourceLoader.GetString("PowderBuyText"), "1000$", 0) { Position = new Vector2(420, 310) }; atbPulver.Selected += delegate { screenManager.AudioManager.PlayKlickSound(); screenManager.PlayerSettings[playerId].Money -= 1000; screenManager.PlayerSettings[playerId].AddPowder(); }; atbEisenkugel = new ActionToggleButton(this, ResourceLoader.GetString("IronBallText"), "1000$", 0) { Position = new Vector2(420, 360) }; atbEisenkugel.Selected += delegate { screenManager.AudioManager.PlayKlickSound(); screenManager.PlayerSettings[playerId].Money -= 1000; screenManager.PlayerSettings[playerId].AddIronBall(); }; atbSteinkugel = new ActionToggleButton(this, ResourceLoader.GetString("StoneBallText"), "250$", 0) { Position = new Vector2(220, 360) }; atbSteinkugel.Selected += delegate { screenManager.AudioManager.PlayKlickSound(); screenManager.PlayerSettings[playerId].Money -= 250; screenManager.PlayerSettings[playerId].AddStoneBall(); }; // Weiter button weiterMenuEntry = new MenuEntry(this, "Weiter", 0) { Position = new Vector2(350, 450) }; weiterMenuEntry.Selected += WeiterMenuEntrySelected; // Beenden button beendenMenuEntry = new MenuEntry(this, "Beenden", 0) { Position = new Vector2(500, 450) }; beendenMenuEntry.Selected += BeendenMenuEntrySelected; ControlsContainer.Add(weiterMenuEntry); ControlsContainer.Add(beendenMenuEntry); ControlsContainer.Add(lblInventar); ControlsContainer.Add(lblMoney); ControlsContainer.Add(lblCannons); ControlsContainer.Add(lblBevoelkerung); ControlsContainer.Add(lblNumBevoelkerung); ControlsContainer.Add(lblVerzinsung); ControlsContainer.Add(lblKaufen); ControlsContainer.Add(lblStone); ControlsContainer.Add(lblIron); ControlsContainer.Add(atbCannon); ControlsContainer.Add(atbEisenkugel); ControlsContainer.Add(atbPulver); ControlsContainer.Add(atbSteinkugel); ControlsContainer.Add(sldVerzinsung); ControlsContainer.Add(lblZinssatz); }
/// <summary> /// Initializes a new instance of the <see cref="MainMenuScreen"/> class. /// </summary> /// <param name="graphicsManager">The graphics manager.</param> /// <param name="screenManager">The screen manager.</param> public MainMenuScreen(IBallerburgGraphicsManager graphicsManager, IScreenManager screenManager) : base(graphicsManager, screenManager, "Ballerburg3D") { // Create the menu entries. // Starten Button spielStartenMenuEntry = new MenuEntry(this, "starten", 0) { Position = new Vector2(350, 450) }; spielStartenMenuEntry.Selected += SpielStartenMenuEntrySelected; // Zurück button zurueckMenuEntry = new MenuEntry(this, ResourceLoader.GetString("BackText"), 0) { Position = new Vector2(500, 450) }; zurueckMenuEntry.Selected += ZurueckMenuEntrySelected; // Anzahl Spieler Buttons var numPlayerList = new List<string> { "Anzahl: 2", "Anzahl: 3", "Anzahl: 4" }; anzahlSpielerToggleButton = new ComboToggleButton(this, "Spieler", new Collection<string>(numPlayerList), 0, 0) { Position = new Vector2(10, 100) }; anzahlSpielerToggleButton.Selected += ToggleNumPlayersMenuEntrySelected; spielOptionenMenuEntry = new MenuEntry(this, "Optionen", 0) { Position = new Vector2(10, 250) }; spielOptionenMenuEntry.Selected += SpielOptionenMenuEntrySelected; soundMenuEntry = new MenuEntry(this, "Sound", 0) { Position = new Vector2(220, 250) }; soundMenuEntry.Selected += SoundMenuEntrySelected; creditsMenuEntry = new MenuEntry(this, "Credits", 0) { Position = new Vector2(430, 250) }; creditsMenuEntry.Selected += CreditsMenuEntrySelected; graphikMenuEntry = new MenuEntry(this, "Graphik", 0) { Position = new Vector2(220, 350) }; graphikMenuEntry.Selected += GraphikMenuEntrySelected; spielerActionButtons = new ActionToggleButton[4]; spielerActionButtons[0] = new ActionToggleButton(this, "Spieler 1", screenManager.PlayerSettings[0].PlayerName, 0) { Position = new Vector2(220, 100) }; spielerActionButtons[0].Selected += Spieler1KonfigurierenMenuEntrySelected; screenManager.PlayerSettings[0].IsActive = true; spielerActionButtons[1] = new ActionToggleButton(this, "Spieler 2", screenManager.PlayerSettings[1].PlayerName, 0) { Position = new Vector2(430, 100) }; spielerActionButtons[1].Selected += Spieler2KonfigurierenMenuEntrySelected; screenManager.PlayerSettings[1].IsActive = true; spielerActionButtons[2] = new ActionToggleButton(this, "Spieler 3", screenManager.PlayerSettings[2].PlayerName, 0) { Position = new Vector2(220, 150) }; spielerActionButtons[2].Selected += Spieler3KonfigurierenMenuEntrySelected; spielerActionButtons[2].SetInactive(); screenManager.PlayerSettings[2].IsActive = false; spielerActionButtons[3] = new ActionToggleButton(this, "Spieler 4", screenManager.PlayerSettings[3].PlayerName, 0) { Position = new Vector2(430, 150) }; spielerActionButtons[3].Selected += Spieler4KonfigurierenMenuEntrySelected; spielerActionButtons[3].SetInactive(); screenManager.PlayerSettings[3].IsActive = false; for (int i = 0; i < GameSettings.NumPlayers; i++) { spielerActionButtons[i].SetActive(); } for (int i = GameSettings.NumPlayers; i < 4; i++) { spielerActionButtons[i].SetInactive(); } ControlsContainer.Add(spielStartenMenuEntry); ControlsContainer.Add(zurueckMenuEntry); ControlsContainer.Add(anzahlSpielerToggleButton); ControlsContainer.Add(spielerActionButtons[0]); ControlsContainer.Add(spielerActionButtons[1]); ControlsContainer.Add(spielerActionButtons[2]); ControlsContainer.Add(spielerActionButtons[3]); ControlsContainer.Add(spielOptionenMenuEntry); ControlsContainer.Add(soundMenuEntry); ControlsContainer.Add(creditsMenuEntry); ControlsContainer.Add(graphikMenuEntry); ScreenActivated += OnScreenActivated; }