//============== RESOLUTION private void OnResolution(object sender, EventArgs e) { SkirmishPopup popup = new SkirmishPopup(Owner); int itemHeight = (int)FrameworkCore.Serif.MeasureString("Sample").Y; popup.screenPos = new Vector2(selectedItem.position.X + 96, (resolutions.Length / 2) * itemHeight); popup.hideChildren = false; MenuItem item = null; for (int i = 0; i < resolutions.Length; i++) { string itemName = resolutions[i].X + Resource.MenuVideoDivider + resolutions[i].Y; if (resolutions[i].X * 3 <= resolutions[i].Y * 4) { //4:3 aspect ratio or lower. } else { itemName += " " + Resource.MenuVideoWidescreen; } if (FrameworkCore.Graphics.PreferredBackBufferHeight == resolutions[i].Y && FrameworkCore.Graphics.PreferredBackBufferWidth == resolutions[i].X) { itemName += " " + Resource.MenuVideoCurrent; } item = new MenuItem(itemName); item.Selected += OnChooseResolution; item.GenericInt1 = resolutions[i].X; item.GenericInt2 = resolutions[i].Y; popup.AddItem(item); } item = new MenuItem(Resource.MenuCancel); item.Selected += closePopup; popup.AddItem(item); Owner.AddMenu(popup); }
private void OpenShipSelection(PlayerIndex index) { if (selectedItem.commander == null) { return; } int playerIndex = (int)index; SkirmishPopup popup = new SkirmishPopup(Owner); popup.hideChildren = false; popup.darkenScreen = true; MenuItem item = null; item = new MenuItem(Resource.ShipDestroyer); item.shipArray[0] = shipTypes.Destroyer; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipBeamFrigate); item.shipArray[0] = shipTypes.BeamFrigate; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipBeamGunship); item.shipArray[0] = shipTypes.BeamGunship; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipGunship); item.shipArray[0] = shipTypes.Gunship; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipDreadnought); item.shipArray[0] = shipTypes.Dreadnought; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipBattleship); item.shipArray[0] = shipTypes.Battleship; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); item = new MenuItem(Resource.ShipFighter); item.shipArray[0] = shipTypes.Fighter; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); #if DEBUG item = new MenuItem("DEBUG"); item.shipArray[0] = shipTypes.DebugShip; item.Selected += AddShip; item.GenericInt1 = playerIndex; popup.AddItem(item); #endif int shipsInList = 0; for (int i = 0; i < selectedItem.shipArray.Length; i++) { if (selectedItem.shipArray[i] != null) { shipsInList++; } } if (selectedItem != null && selectedItem.shipArray[selectedItem.shipArraySelection] != null && shipsInList > 1) { item = new MenuItem(Resource.MenuSkirmishSlotClear); item.Selected += AddShip; popup.AddItem(item); } item = new MenuItem(Resource.MenuCancel); item.Selected += closePopup; popup.AddItem(item); Owner.AddMenu(popup); }
private void SlotLogic(int slotNumber, PlayerCommander player) { //let player2 remove himself. if (FrameworkCore.players.Count >= 2) { //player2 clicked himself. if (menuItems[slotNumber].commander == player && player == FrameworkCore.players[1]) { SkirmishPopup popup = new SkirmishPopup(Owner); popup.screenPos = selectedItem.position + new Vector2(96, 16); popup.hideChildren = false; MenuItem item = new MenuItem(Resource.MenuSkirmishSlotClear); item.Selected += ClearSlot; item.GenericInt1 = slotNumber; popup.AddItem(item); item = new MenuItem(Resource.MenuCancel); item.Selected += closePopup; popup.AddItem(item); Owner.AddMenu(popup); return; } } if (menuItems[slotNumber].commander == player || menuItems[slotNumber].commander == FrameworkCore.players[0]) { //selected slot this player is already in. } else { SkirmishPopup popup = new SkirmishPopup(Owner); popup.screenPos = selectedItem.position + new Vector2(96, 16); popup.hideChildren = false; MenuItem item = null; //ADD COMPUTER. if (menuItems[slotNumber].commander == null) { item = new MenuItem(Resource.MenuSkirmishEasyAdd); item.Selected += AddAI; item.GenericInt1 = slotNumber; popup.AddItem(item); } //MOVE TO SLOT. if (menuItems[slotNumber].commander == null || (menuItems[slotNumber].commander != null && menuItems[slotNumber].commander.GetType() != typeof(PlayerCommander))) { item = new MenuItem(Resource.MenuSkirmishSlotMove); item.commander = player;//stuff data into this menu entry. item.GenericInt1 = slotNumber; item.Selected += MoveToSlot; popup.AddItem(item); } if (menuItems[slotNumber].commander != null) { if (menuItems[slotNumber].commander != FrameworkCore.players[0]) { item = new MenuItem(Resource.MenuSkirmishSlotClear); item.Selected += ClearSlot; item.GenericInt1 = slotNumber; popup.AddItem(item); } } item = new MenuItem(Resource.MenuCancel); item.Selected += closePopup; popup.AddItem(item); Owner.AddMenu(popup); } }