public void DrawUI(CustomSpriteBatch g) { g.End(); g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend); GameScreen.DrawBox(g, new Vector2(0, 0), Width / 2, 84, Color.Red); int PosX = 0; GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100); GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White); PosX = Width / 2 + 68; GameScreen.DrawBox(g, new Vector2(Width / 2, 0), Width / 2, 84, Color.Blue); GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100); GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White); g.Draw(sprInfinity, new Vector2((Width - sprInfinity.Width) / 2, 15), Color.White); GameScreen.DrawBox(g, new Vector2(0, Constants.Height - AnimationClass.VNBoxHeight), Width, AnimationClass.VNBoxHeight, Color.White); g.End(); g.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); }
public void DrawHUD(CustomSpriteBatch g, bool IsInEditMode, bool ShowBorderBoxes, bool ShowNextPositions) { g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise); DrawBox(g, new Vector2(0, 0), Width / 2, 84, Color.Red); int PosX = 0; DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White); g.Draw(sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White); PosX = Width / 2 + 68; DrawBox(g, new Vector2(Width / 2, 0), Width / 2, 84, Color.Blue); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White); g.Draw(sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White); g.Draw(sprInfinity, new Vector2((Width - sprInfinity.Width) / 2, 15), Color.White); DrawBox(g, new Vector2(0, Height - VNBoxHeight), Width, VNBoxHeight, Color.White); g.End(); }
private void DrawPartMenu(CustomSpriteBatch g, bool ShowListPartCursor) { Unit ActiveUnit = SelectedUnit; DrawUnitInfo(g, 0); int Y = 5; DrawBox(g, new Vector2(325, Y), 310, 315, Color.White); g.DrawString(fntFinlanderFont, "REMOVE PART", new Vector2(330, Y), Color.Red); g.DrawStringRightAligned(fntFinlanderFont, CurrentPagePart + "/" + PageMaxPart, new Vector2(625, Y), Color.Yellow); foreach (PartInfo ActivePart in ListPartInfo) { if (ActivePart.ActivePart.Quantity > 0) { g.DrawString(fntFinlanderFont, ActivePart.ActivePart.Name, new Vector2(330, Y += LineSpacing), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActivePart.ListUnit.Count + "/" + ActivePart.ActivePart.Quantity, new Vector2(625, Y), Color.White); } else { g.DrawString(fntFinlanderFont, "--------", new Vector2(330, Y += LineSpacing), Color.White); g.DrawStringRightAligned(fntFinlanderFont, "-/-", new Vector2(625, Y), Color.White); } } Y = 305; DrawBox(g, new Vector2(325, Y + 20), 310, 150, Color.White); if (ShowListPartCursor) { g.Draw(sprPixel, new Rectangle(330, 10 + CursorIndexListPart * LineSpacing, 300, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127)); } }
private void DrawMenu(CustomSpriteBatch g) { GameScreen.DrawBox(g, new Vector2(10, 10), 620, 40, Color.White); g.DrawString(fntFinlanderFont, "Unit Select", new Vector2(15, 13), Color.White); GameScreen.DrawBox(g, new Vector2(10, 45), 620, 355, Color.White); g.DrawString(fntFinlanderFont, "Unit", new Vector2(50, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "HP", new Vector2(340, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "EN", new Vector2(400, 50), Color.Yellow); g.DrawString(fntFinlanderFont, "PILOT", new Vector2(440, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "LV", new Vector2(620, 50), Color.Yellow); int LineSpacing = 36; UnitSelectionMenu.DrawMenu(g, 20, 80, LineSpacing); g.DrawStringRightAligned(fntFinlanderFont, (MaxNumberOfUnitsToSpawn - ListSelectedUnit.Count) + " Units Left", new Vector2(500, 13), Color.White); g.DrawStringRightAligned(fntFinlanderFont, "Page " + UnitSelectionMenu.CurrentPage + "/" + UnitSelectionMenu.PageCount, new Vector2(620, 13), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle(15, 77 + UnitSelectionMenu.SelectedItemIndex * LineSpacing, 611, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127)); GameScreen.DrawBox(g, new Vector2(10, 400), 620, 70, Color.White); g.DrawString(fntFinlanderFont, "Move Type", new Vector2(50, 400), Color.Yellow); int X = 100 - (SelectedUnit.ListTerrainChoices.Count - 1) * 15; if (SelectedUnit.ListTerrainChoices.Contains("Air")) { g.Draw(sprSky, new Vector2(X, 435), Color.White); X += 30; } if (SelectedUnit.ListTerrainChoices.Contains("Land")) { g.Draw(sprLand, new Vector2(X, 435), Color.White); X += 30; } if (SelectedUnit.ListTerrainChoices.Contains("Sea")) { g.Draw(sprSea, new Vector2(X, 435), Color.White); X += 30; } if (SelectedUnit.ListTerrainChoices.Contains("Space")) { g.Draw(sprSpace, new Vector2(X, 435), Color.White); X += 30; } g.DrawString(fntFinlanderFont, "Terrain Stat", new Vector2(420, 400), Color.Yellow); g.Draw(sprSky, new Vector2(400, 435), Color.White); g.Draw(sprLand, new Vector2(450, 435), Color.White); g.Draw(sprSea, new Vector2(500, 435), Color.White); g.Draw(sprSpace, new Vector2(550, 435), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Air").ToString(), new Vector2(425, 430), Color.Yellow); g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Land").ToString(), new Vector2(475, 430), Color.Yellow); g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Sea").ToString(), new Vector2(525, 430), Color.Yellow); g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Space").ToString(), new Vector2(575, 430), Color.Yellow); }
public void DrawBackgroundBox(CustomSpriteBatch g, float PositionX, float PositionY) { DrawBox(g, new Vector2(PositionX, PositionY), 113, 45, Color.White); DrawBar(g, Map.sprBarSmallBackground, Map.sprBarSmallHP, new Vector2(PositionX + 55, PositionY + 9), SharedUnitStats.VisibleHP, SharedUnitStats.SharedUnit.MaxHP); DrawBar(g, Map.sprBarSmallBackground, Map.sprBarSmallEN, new Vector2(PositionX + 55, PositionY + 26), SharedUnitStats.VisibleEN, SharedUnitStats.SharedUnit.MaxEN); g.DrawStringRightAligned(Map.fntBattleNumberSmall, SharedUnitStats.VisibleHP.ToString(), new Vector2(PositionX + 102, PositionY + 1), Color.White); g.DrawStringRightAligned(Map.fntBattleNumberSmall, SharedUnitStats.VisibleEN.ToString(), new Vector2(PositionX + 103, PositionY + 18), Color.White); }
public void DrawAttackPanel(CustomSpriteBatch g, SpriteFont ActiveFont, Unit ActiveUnit, List <Attack> ListAttack, int CursorIndex) { int XStart = (Constants.Width - 630) / 2; int YStep = 25; int YStart = 115; DrawTopAttackPanel(g, ActiveFont, ActiveUnit, ListAttack, CursorIndex); //Draw the information of the selected weapon. DrawBox(g, new Vector2(XStart, YStart + 170), 630, 50, Color.White); g.DrawString(ActiveFont, "Ammo", new Vector2(XStart + 13, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ListAttack[CursorIndex].Ammo + "/" + (ListAttack[CursorIndex].MaxAmmo + ActiveUnit.Boosts.AmmoMaxModifier), new Vector2(XStart + 150, YStart + 178), Color.White); g.DrawString(ActiveFont, "Will", new Vector2(XStart + 156, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ListAttack[CursorIndex].MoraleRequirement + "(" + ActiveUnit.PilotMorale + ")", new Vector2(XStart + 305, YStart + 178), Color.White); g.DrawString(ActiveFont, "Energy", new Vector2(XStart + 305, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ListAttack[CursorIndex].ENCost.ToString(), new Vector2(XStart + 430, YStart + 178), Color.White); g.Draw(sprSky, new Vector2(XStart + 442, YStart + 182), Color.White); g.DrawString(ActiveFont, ListAttack[CursorIndex].DicTerrainAttribute[UnitStats.TerrainAir].ToString(), new Vector2(XStart + 467, YStart + 178), Color.White); g.Draw(sprLand, new Vector2(XStart + 488, YStart + 182), Color.White); g.DrawString(ActiveFont, ListAttack[CursorIndex].DicTerrainAttribute[UnitStats.TerrainLand].ToString(), new Vector2(XStart + 513, YStart + 178), Color.White); g.Draw(sprSea, new Vector2(XStart + 534, YStart + 182), Color.White); g.DrawString(ActiveFont, ListAttack[CursorIndex].DicTerrainAttribute[UnitStats.TerrainSea].ToString(), new Vector2(XStart + 559, YStart + 178), Color.White); g.Draw(sprSpace, new Vector2(XStart + 580, YStart + 182), Color.White); g.DrawString(ActiveFont, ListAttack[CursorIndex].DicTerrainAttribute[UnitStats.TerrainSpace].ToString(), new Vector2(XStart + 605, YStart + 178), Color.White); DrawBox(g, new Vector2(XStart, YStart + 220), 630, 140, Color.White); //Draw the cursor. g.Draw(sprPixel, new Rectangle(XStart + 6, 120 + CursorIndex * YStep, 618, YStep), Color.FromNonPremultiplied(255, 255, 255, 127)); Vector2 BoxPosition = new Vector2(XStart + 10, YStart + 223); for (int A = 0; A < 4; A++) { string TextToDraw = "------"; if (A < ListAttack[CursorIndex].ArrayAttackAttributes.Length) { TextToDraw = ListAttack[CursorIndex].ArrayAttackAttributes[A].Name; TextHelper.DrawText(g, ListAttack[CursorIndex].ArrayAttackAttributes[A].Description, new Vector2(BoxPosition.X + 20, BoxPosition.Y + 22 + A * 31), Color.White); } g.DrawString(ActiveFont, TextToDraw, new Vector2(BoxPosition.X, BoxPosition.Y + A * 31), Color.White); } }
public void DrawMenu(CustomSpriteBatch g) { g.Draw(sprMapMenuBackground, new Vector2(0, 0), Color.White); int LineSpacing = 30; g.DrawString(fntFinlanderFont, CurrentPage + "/" + PageMax, new Vector2(420, 10), Color.White); DrawBox(g, new Vector2(10, 45), 340, 300, Color.White); g.DrawString(fntFinlanderFont, "Pilot", new Vector2(20, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "LV", new Vector2(230, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "KILLS", new Vector2(340, 50), Color.Yellow); DrawBox(g, new Vector2(350, 45), 280, 300, Color.White); g.DrawString(fntFinlanderFont, "UNIT", new Vector2(360, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "HP", new Vector2(590, 50), Color.Yellow); int X = 20; int Y = 80; int UnitIndex = (CurrentPage - 1) * MaxPerPage; for (int U = 0; U + UnitIndex < ListCharacterInfo.Count && U < MaxPerPage; U++) { var ActiveCharacterInfo = ListCharacterInfo[U]; int Offset = ListCharacterInfo.Count - ListPresentCharacter.Count; if (U - Offset >= 0) { Character ActiveCharacter = ListPresentCharacter[U - Offset]; g.DrawString(fntFinlanderFont, ActiveCharacter.Name, new Vector2(X, Y), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveCharacter.Level.ToString(), new Vector2(230, Y), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveCharacter.Kills.ToString(), new Vector2(340, Y), Color.White); } else { g.DrawString(fntFinlanderFont, "-----------", new Vector2(X, Y), Color.White); } if (ActiveCharacterInfo.UnitIndex >= 0) { Unit ActiveUnit = ListPresentUnit[ActiveCharacterInfo.UnitIndex]; g.Draw(ActiveUnit.SpriteMap, new Vector2(350, Y), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(380, Y), Color.White); DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(600, Y), Color.White); } else { g.DrawString(fntFinlanderFont, "-----------", new Vector2(380, Y), Color.White); DrawTextRightAligned(g, "---------", new Vector2(600, Y), Color.White); } Y += LineSpacing; } g.Draw(BattleMap.sprPixel, new Rectangle(X, 80 + PilotChoice * LineSpacing, 600, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127)); }
private void DrawStat(CustomSpriteBatch g, int Y, string StatName, int OriginalStat, int NewStat) { g.DrawString(fntFinlanderFont, StatName, new Vector2(426, Y), Color.Yellow); if (OriginalStat != NewStat) { g.DrawStringRightAligned(fntFinlanderFont, NewStat.ToString(), new Vector2(550, Y), Color.LightGreen); g.DrawStringRightAligned(fntFinlanderFont, "+" + (NewStat - OriginalStat).ToString(), new Vector2(600, Y), Color.LightGreen); } else { g.DrawStringRightAligned(fntFinlanderFont, NewStat.ToString(), new Vector2(550, Y), Color.White); } }
public void DrawMenu(CustomSpriteBatch g) { g.Draw(sprMapMenuBackground, new Vector2(0, 0), Color.White); DrawBox(g, new Vector2(10, 45), 420, 300, Color.White); g.DrawString(fntFinlanderFont, "Unit", new Vector2(20, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "HP", new Vector2(300, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "EN", new Vector2(400, 50), Color.Yellow); DrawBox(g, new Vector2(430, 45), 200, 300, Color.White); g.DrawString(fntFinlanderFont, "PILOT", new Vector2(440, 50), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, "LV", new Vector2(620, 50), Color.Yellow); UnitSelectionMenu.DrawMenu(g, 20, 80, LineSpacing); g.DrawString(fntFinlanderFont, UnitSelectionMenu.CurrentPage + "/" + UnitSelectionMenu.PageCount, new Vector2(420, 10), Color.White); g.Draw(BattleMap.sprPixel, new Rectangle(20, 80 + UnitSelectionMenu.SelectedItemIndex * LineSpacing, 601, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127)); }
public override void Draw(CustomSpriteBatch g) { DrawBox(g, new Vector2(), Constants.Width, Constants.Height, Color.White); DrawBox(g, new Vector2(0, 0), (int)(Constants.Width * 0.7), TopSectionHeight, Color.White); g.DrawString(fntArial12, "INVENTORY", new Vector2(10, 20), Color.White); //Left side DrawBox(g, new Vector2(0, HeaderSectionY), LeftSideWidth, HeaderSectionHeight, Color.White); DrawBox(g, new Vector2(0, MiddleSectionY), LeftSideWidth, MiddleSectionHeight, Color.White); DrawBox(g, new Vector2(0, BottomSectionY), LeftSideWidth, Constants.Height - BottomSectionY, Color.White); DrawBox(g, new Vector2(LeftSideWidth, HeaderSectionY), LeftSideWidth, HeaderSectionHeight, Color.White); DrawBox(g, new Vector2(LeftSideWidth, MiddleSectionY), LeftSideWidth, MiddleSectionHeight, Color.White); DrawBox(g, new Vector2(LeftSideWidth, BottomSectionY), LeftSideWidth, Constants.Height - BottomSectionY, Color.White); g.DrawStringRightAligned(fntArial12, "Money: 14360 cr", new Vector2(LeftSideWidth - 12, BottomSectionY + 11), Color.White); ActiveSubScreen.Draw(g); foreach (IUIElement ActiveButton in ArrayMenuButton) { ActiveButton.Draw(g); } }
private void DrawMenuItem(CustomSpriteBatch g, int ItemIndex, int X, int Y) { Unit ActiveUnit = ListVisibleUnit[ItemIndex]; int SelectedUnitIndex = ListSelectedUnit.IndexOf(ActiveUnit); g.Draw(GameScreen.sprPixel, new Rectangle(X, Y, 30, 30), Color.Black); if (SelectedUnitIndex >= 0) { g.Draw(GameScreen.sprPixel, new Rectangle(X + 1, Y + 1, 28, 28), Color.Orange); g.DrawStringMiddleAligned(fntFinlanderFont, SelectedUnitIndex.ToString(), new Vector2(X + 14, Y), Color.White); } else { g.Draw(GameScreen.sprPixel, new Rectangle(X + 1, Y + 1, 28, 28), Color.White); } g.Draw(ActiveUnit.SpriteMap, new Vector2(X + 30, Y), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(X + 70, Y), Color.White); GameScreen.DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(340, Y), Color.White); GameScreen.DrawTextRightAligned(g, ActiveUnit.MaxEN.ToString(), new Vector2(400, Y), Color.White); if (ActiveUnit.Pilot != null) { g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(440, Y), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, Y), Color.White); } }
public override void Draw(CustomSpriteBatch g) { g.Draw(sprBackground, new Vector2(0, 0), Color.White); //Draw the item list with its filters and get the lowest Y position. int Index = 0; int Y = DrawFilter(g, MainFilter, 305, 41, ref Index); if (Y < Constants.Height - 60) { g.DrawString(fntArial10, "Check Out", new Vector2(325, Y + fntArial10.LineSpacing), Color.White); if (CursorIndex == CursorIndexMax) { g.Draw(sprRectangle, new Rectangle(325, Y + fntArial10.LineSpacing, 300, fntArial10.LineSpacing), Color.FromNonPremultiplied(255, 255, 255, CursorAlpha)); } } //Item description if (CursorFilter.CursorIndex >= 0 && CursorFilter.CursorIndex < CursorFilter.ListItem.Count) { g.DrawString(fntArial10, CursorFilter.ListItem[CursorFilter.CursorIndex].RelativePath, new Vector2(10, 45), Color.White); g.DrawString(fntArial10, "Cost: " + CursorFilter.ListItem[CursorFilter.CursorIndex].Price, new Vector2(10, 45 + fntArial10.LineSpacing * 2), Color.White); int QuantityOwned = 0; if (Inventory.ListItems.ContainsKey(CursorFilter.ListItem[CursorFilter.CursorIndex].RelativePath)) { QuantityOwned = Inventory.ListItems[CursorFilter.ListItem[CursorFilter.CursorIndex].RelativePath].Quantity; } g.DrawString(fntArial10, CursorFilter.ListItem[CursorFilter.CursorIndex].Quantity + " in stock, " + QuantityOwned + " Owned", new Vector2(10, 45 + fntArial10.LineSpacing * 3), Color.White); //Bottom //Item cost * number of item you buy. g.DrawStringRightAligned(fntArial10, (CursorFilter.ListItem[CursorFilter.CursorIndex].Price * CursorFilter.ListItem[CursorFilter.CursorIndex].QuantityToBuy).ToString(), new Vector2(170, Constants.Height - 60), Color.White); } else//Item cost (None selected). { g.DrawStringRightAligned(fntArial10, "0", new Vector2(170, Constants.Height - 60), Color.White); } //Bottom. g.DrawString(fntArial10, Constants.Money.ToString(), new Vector2(2, Constants.Height - 60), Color.White); //Remaining funds if (Constants.Money - CheckOutAmount >= 0) { g.DrawStringRightAligned(fntArial10, (Constants.Money - CheckOutAmount).ToString(), new Vector2(300, Constants.Height - 60), Color.White); } else { g.DrawStringRightAligned(fntArial10, (Constants.Money - CheckOutAmount).ToString(), new Vector2(300, Constants.Height - 60), Color.Red); } }
public override void Draw(CustomSpriteBatch g) { DrawBox(g, new Vector2(), Constants.Width, Constants.Height, Color.White); int LeftSideWidth = (int)(Constants.Width * 0.5); int TopSectionHeight = (int)(Constants.Height * 0.1); int HeaderSectionY = TopSectionHeight; int HeaderSectionHeight = (int)(Constants.Height * 0.05); int BottomSectionHeight = (int)(Constants.Height * 0.07); int BottomSectionY = Constants.Height - BottomSectionHeight; int MiddleSectionY = (int)(HeaderSectionY + HeaderSectionHeight); int MiddleSectionHeight = BottomSectionY - MiddleSectionY; DrawBox(g, new Vector2(0, 0), (int)(Constants.Width * 0.7), TopSectionHeight, Color.White); DrawBox(g, new Vector2(Constants.Width * 0.7f, 0), (int)(Constants.Width * 0.3), TopSectionHeight, Color.White); g.DrawString(fntArial12, "SHOP", new Vector2(10, 20), Color.White); g.DrawString(fntArial12, "Back To Lobby", new Vector2(Constants.Width * 0.7f + 70, 20), Color.White); //Left side DrawBox(g, new Vector2(0, HeaderSectionY), LeftSideWidth, HeaderSectionHeight, Color.White); DrawBox(g, new Vector2(0, MiddleSectionY), LeftSideWidth, MiddleSectionHeight, Color.White); DrawBox(g, new Vector2(0, BottomSectionY), LeftSideWidth, Constants.Height - BottomSectionY, Color.White); g.DrawString(fntArial12, "Units/Characters/Equipment/Consumable", new Vector2(10, TopSectionHeight + 5), Color.White); float DrawY = MiddleSectionY + 5; for (int i = 0; i < 4; ++i) { DrawBox(g, new Vector2(5, DrawY), LeftSideWidth - 95, 45, Color.White); DrawBox(g, new Vector2(LeftSideWidth - 90, DrawY), 85, 45, Color.White); g.DrawString(fntArial12, "Mazinger", new Vector2(48, DrawY + 11), Color.White); DrawBox(g, new Vector2(11, DrawY + 6), 32, 32, Color.White); g.DrawStringRightAligned(fntArial12, "10000 cr", new Vector2(LeftSideWidth - 12, DrawY + 11), Color.White); DrawY += 50; } g.DrawStringRightAligned(fntArial12, "Money: 14360 cr", new Vector2(LeftSideWidth - 12, BottomSectionY + 11), Color.White); DrawBox(g, new Vector2(LeftSideWidth, HeaderSectionY), LeftSideWidth, HeaderSectionHeight, Color.White); DrawBox(g, new Vector2(LeftSideWidth, MiddleSectionY), LeftSideWidth, MiddleSectionHeight, Color.White); DrawBox(g, new Vector2(LeftSideWidth, BottomSectionY), LeftSideWidth, Constants.Height - BottomSectionY, Color.White); g.DrawString(fntArial12, "Units/Characters/Equipment/Consumable", new Vector2(LeftSideWidth + 10, TopSectionHeight + 5), Color.White); }
public void DrawAttackPanel(CustomSpriteBatch g, SpriteFont ActiveFont, Unit ActiveUnit, int CursorIndex) { int YStep = 25; int YStart = 115; DrawTopAttackPanel(g, ActiveFont, ActiveUnit, CursorIndex); //Draw the information of the selected weapon. DrawBox(g, new Vector2(5, YStart + 170), 630, 50, Color.White); g.DrawString(ActiveFont, "Ammo", new Vector2(18, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ActiveUnit.ListAttack[CursorIndex].Ammo + "/" + (ActiveUnit.ListAttack[CursorIndex].MaxAmmo + ActiveUnit.Boosts.AmmoMaxModifier), new Vector2(155, YStart + 178), Color.White); g.DrawString(ActiveFont, "Will", new Vector2(161, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ActiveUnit.ListAttack[CursorIndex].MoraleRequirement + "(" + ActiveUnit.PilotMorale + ")", new Vector2(310, YStart + 178), Color.White); g.DrawString(ActiveFont, "Energy", new Vector2(310, YStart + 178), Color.Yellow); g.DrawStringRightAligned(ActiveFont, ActiveUnit.ListAttack[CursorIndex].ENCost.ToString(), new Vector2(435, YStart + 178), Color.White); g.Draw(sprSky, new Vector2(447, YStart + 182), Color.White); g.DrawString(ActiveFont, ActiveUnit.ListAttack[CursorIndex].DicTerrainAttribute["Air"].ToString(), new Vector2(472, YStart + 178), Color.White); g.Draw(sprLand, new Vector2(493, YStart + 182), Color.White); g.DrawString(ActiveFont, ActiveUnit.ListAttack[CursorIndex].DicTerrainAttribute["Land"].ToString(), new Vector2(518, YStart + 178), Color.White); g.Draw(sprSea, new Vector2(539, YStart + 182), Color.White); g.DrawString(ActiveFont, ActiveUnit.ListAttack[CursorIndex].DicTerrainAttribute["Sea"].ToString(), new Vector2(564, YStart + 178), Color.White); g.Draw(sprSpace, new Vector2(585, YStart + 182), Color.White); g.DrawString(ActiveFont, ActiveUnit.ListAttack[CursorIndex].DicTerrainAttribute["Space"].ToString(), new Vector2(610, YStart + 178), Color.White); DrawBox(g, new Vector2(5, YStart + 220), 630, 140, Color.White); //Draw the cursor. g.Draw(sprPixel, new Rectangle(11, 120 + CursorIndex * YStep, 618, YStep), Color.FromNonPremultiplied(255, 255, 255, 127)); Vector2 BoxPosition = new Vector2(15, YStart + 223); for (int A = 0; A < 4; A++) { string TextToDraw = "------"; if (A < ActiveUnit.ListAttack[CursorIndex].ArrayAttackAttributes.Length) { TextToDraw = ActiveUnit.ListAttack[CursorIndex].ArrayAttackAttributes[A].Name; DrawText(g, ActiveUnit.ListAttack[CursorIndex].ArrayAttackAttributes[A].Description, new Vector2(BoxPosition.X + 20, BoxPosition.Y + 22 + A * 31), Color.White); } g.DrawString(ActiveFont, TextToDraw, new Vector2(BoxPosition.X, BoxPosition.Y + A * 31), Color.White); } }
public override void Draw(CustomSpriteBatch g) { g.Draw(sprBackground, new Vector2(Constants.Width / 2, Constants.Height / 2), null, Color.White, 0f, new Vector2(sprBackground.Width / 2, sprBackground.Height / 2), 1f, SpriteEffects.None, 0f); g.Draw(sprHeader, new Vector2(196, 122), Color.White); g.Draw(EquipmentToBuy.sprFull, new Vector2(223, 175), Color.White); g.DrawString(fntText, EquipmentToBuy.Category, new Vector2(227, 288), Color.White); g.DrawString(fntText, EquipmentToBuy.Name, new Vector2(227, 311), Color.White); g.DrawStringRightAligned(fntText, EquipmentToBuy.Price + "CR", new Vector2(577, 311), Color.White); g.DrawString(fntText, "Lv." + EquipmentToBuy.MinLevel, new Vector2(385, 336), Color.White); BuyButton.Draw(g); CancelButton.Draw(g); }
public void DrawDisplayUnit(CustomSpriteBatch g, BattleResult TargetUnitResult, int X, int Y, Color BoxColor) { if (TargetUnitResult.Target == null) { return; } GameScreen.DrawBox(g, new Vector2(X, Y), 200, 80, BoxColor); GameScreen.DrawText(g, TargetUnitResult.Target.FullName, new Vector2(X + 45, Y + 6), Color.White); if (TargetUnitResult.Target.Pilot != null) { GameScreen.DrawText(g, TargetUnitResult.Target.Pilot.Name, new Vector2(X + 45, Y + 24), Color.White); } g.Draw(TargetUnitResult.Target.SpriteMap, new Vector2(X + 6, Y + 8), Color.White); GameScreen.DrawBar(g, Map.sprBarSmallBackground, Map.sprBarSmallHP, new Vector2(X + 140, Y + 13), TargetUnitResult.Target.HP, TargetUnitResult.Target.MaxHP); GameScreen.DrawBar(g, Map.sprBarSmallBackground, Map.sprBarSmallEN, new Vector2(X + 140, Y + 30), TargetUnitResult.Target.EN, TargetUnitResult.Target.MaxEN); //Draw numbers. g.DrawStringRightAligned(Map.fntBattleNumberSmall, TargetUnitResult.Target.HP.ToString(), new Vector2(X + 191, Constants.Height - 78), Color.White); g.DrawStringRightAligned(Map.fntBattleNumberSmall, TargetUnitResult.Target.EN.ToString(), new Vector2(X + 191, Constants.Height - 58), Color.White); if (ActiveAttack != null) { if (!TargetUnitResult.AttackMissed) { GameScreen.DrawText(g, "Hit " + TargetUnitResult.Accuracy.ToString(), new Vector2(X + 6, Y + 42), Color.White); } if (TargetUnitResult.AttackDamage != 0) { GameScreen.DrawText(g, "DMG " + TargetUnitResult.AttackDamage + "(" + (int)(TargetUnitResult.AttackDamage * 1.2f) + ")", new Vector2(X + 6, Y + 58), Color.White); } } }
public override void Draw(CustomSpriteBatch g) { float X = 20; float Y = 20; GameScreen.DrawBox(g, new Vector2(X, Y), 100, 80, Color.White); g.DrawString(Map.fntArial12, "Level 1", new Vector2(X, Y), Color.White); g.DrawStringRightAligned(Map.fntArial12, "50", new Vector2(X + 100, Y), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 110, (int)Y, 20, 20), Color.White); Y += 20; g.DrawString(Map.fntArial12, "Level 2", new Vector2(X, Y), Color.White); g.DrawStringRightAligned(Map.fntArial12, "100", new Vector2(X + 100, Y), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 110, (int)Y, 20, 20), Color.White); Y += 20; g.DrawString(Map.fntArial12, "Level 3", new Vector2(X, Y), Color.White); g.DrawStringRightAligned(Map.fntArial12, "150", new Vector2(X + 100, Y), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 110, (int)Y, 20, 20), Color.White); Y += 20; g.DrawString(Map.fntArial12, "Level 4", new Vector2(X, Y), Color.White); g.DrawStringRightAligned(Map.fntArial12, "250", new Vector2(X + 100, Y), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 110, (int)Y, 20, 20), Color.White); Y += 20; g.DrawString(Map.fntArial12, "Level 5", new Vector2(X, Y), Color.White); g.DrawStringRightAligned(Map.fntArial12, "400", new Vector2(X + 100, Y), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 110, (int)Y, 20, 20), Color.White); g.Draw(GameScreen.sprPixel, new Rectangle((int)X + 5, (int)Y + 5 + CursorIndex * 20, 95, 18), Color.FromNonPremultiplied(255, 255, 255, 127)); }
public void DrawMenuItem(CustomSpriteBatch g, int ItemIndex, int X, int Y) { Unit ActiveUnit = ListPresentUnit[ItemIndex]; g.Draw(ActiveUnit.SpriteMap, new Vector2(X, Y), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.ItemName, new Vector2(X + 40, Y), Color.White); TextHelper.DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(300, Y + 5), Color.White); TextHelper.DrawTextRightAligned(g, ActiveUnit.MaxEN.ToString(), new Vector2(400, Y + 5), Color.White); if (ActiveUnit.Pilot != null) { g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(440, Y), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, Y), Color.White); } }
public void DrawMenuUnit(CustomSpriteBatch g, int ItemIndex, int X, int Y) { Unit ActiveUnit = SelectedUnit; g.Draw(ActiveUnit.SpriteMap, new Vector2(X, Y), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(X + 40, Y), Color.White); DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(300, Y), Color.White); DrawTextRightAligned(g, ActiveUnit.MaxEN.ToString(), new Vector2(400, Y), Color.White); if (ActiveUnit.Pilot != null) { g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(440, Y), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, Y), Color.White); } }
public override void Draw(CustomSpriteBatch g, Player PlayerInfo) { g.Draw(sprGUIMyInfo, new Vector2(4, 4), Color.White); g.Draw(sprGUIGameMode, new Vector2(28, 6), new Rectangle(0, 0, sprGUIGameMode.Width / 3, sprGUIGameMode.Height), Color.White); g.DrawString(fntNumberRank, "1", new Vector2(95, 7), Color.White); g.DrawString(fntNumberSmall, "1", new Vector2(114, 11), Color.White); g.DrawString(fntArial8, "K:" + PlayerInfo.InGameRobot.Kill, new Vector2(134, 9), Color.White); g.DrawString(fntArial8, "D:" + PlayerInfo.InGameRobot.Death, new Vector2(164, 9), Color.White); g.Draw(sprGUITimeDeathmatch, new Vector2(Constants.Width / 2, 3), null, Color.White, 0f, new Vector2(sprGUITimeDeathmatch.Width / 2, 0), 1f, SpriteEffects.None, 0f); int TimeRemaining = (int)GameLengthInSeconds; int MinutesRemaining = TimeRemaining / 60; int SecondsRemaining = TimeRemaining % 60; g.DrawStringRightAligned(fntNumberTime, MinutesRemaining.ToString().PadLeft(2, '0'), new Vector2(Constants.Width / 2 - 5, 12), Color.White); g.DrawString(fntNumberTime, SecondsRemaining.ToString().PadLeft(2, '0'), new Vector2(Constants.Width / 2 + 5, 12), Color.White); if (ShowRoomSummary) { g.Draw(sprGUIScoreTop, new Vector2(500, 150), Color.White); g.Draw(sprGUIScoreHeader, new Vector2(640, 155), new Rectangle(0, 0, sprGUIScoreHeader.Width / 3, sprGUIScoreHeader.Height), Color.White); int Max = Map.ListAllPlayer.Count; for (int P = 0; P < Max; ++P) { g.Draw(sprGUIScoreMyInfo, new Vector2(500, 175 + P * 26), Color.White); g.DrawString(fntArial8, Map.ListAllPlayer[P].Name, new Vector2(540, 181 + P * 26), Color.White); g.DrawString(fntNumberScore, (P + 1).ToString(), new Vector2(515, 180 + P * 26), Color.White); g.DrawString(fntNumberScore, Map.ListAllPlayer[P].InGameRobot.Kill.ToString(), new Vector2(665, 180 + P * 26), Color.White); g.DrawString(fntNumberScore, Map.ListAllPlayer[P].InGameRobot.Death.ToString(), new Vector2(720, 180 + P * 26), Color.White); } g.Draw(sprGUIScoreBottom, new Vector2(500, 175 + Max * 26), Color.White); g.DrawString(fntArial8, "To Win", new Vector2(520, 182 + Max * 26), Color.White); g.DrawString(fntArial8, Room.MaxGameLengthInMinutes + " MIN", new Vector2(620, 182 + Max * 26), Color.White); g.DrawString(fntArial8, Room.MaxKill + " KILL", new Vector2(670, 182 + Max * 26), Color.White); } }
public override void Draw(CustomSpriteBatch g) { base.Draw(g); for (int C = 0; C < ListShopEquipment.Count; ++C) { MenuEquipment EquipmentToBuy = GetShopEquipmentUnderMouse(MouseHelper.MouseStateCurrent.X, MouseHelper.MouseStateCurrent.Y); if (EquipmentToBuy == ListShopEquipment[C]) { BuyItemIcon.SetFrame(2); } else { BuyItemIcon.SetFrame(0); } BuyItemIcon.Draw(g, new Vector2(172, 152 + C * 60), Color.White); g.Draw(ListShopEquipment[C].sprIcon, new Vector2(39, 131 + C * 60), Color.White); g.DrawString(fntText, ListShopEquipment[C].Name, new Vector2(92, 131 + C * 60), Color.White); g.DrawString(fntText, ListShopEquipment[C].EquipmentType.ToString(), new Vector2(92, 155 + C * 60), Color.White); g.DrawStringRightAligned(fntText, ListShopEquipment[C].Price + " CR", new Vector2(297, 155 + C * 60), Color.White); } }
public override void Draw(CustomSpriteBatch g) { base.Draw(g); for (int C = 0; C < ListShopCharacter.Count; ++C) { CharacterMenuEquipment SelectedCharacter = GetShopCharacterUnderMouse(MouseHelper.MouseStateCurrent.X, MouseHelper.MouseStateCurrent.Y); if (SelectedCharacter == ListShopCharacter[C]) { BuyCharacterIcon.SetFrame(2); } else { BuyCharacterIcon.SetFrame(0); } BuyCharacterIcon.Draw(g, new Vector2(172, 152 + C * 60), Color.White); g.DrawString(fntText, ListShopCharacter[C].Name, new Vector2(102, 131 + C * 60), Color.White); g.DrawString(fntText, "5", new Vector2(113, 155 + C * 60), Color.White); g.DrawString(fntText, "5", new Vector2(145, 155 + C * 60), Color.White); g.DrawString(fntText, "4", new Vector2(177, 155 + C * 60), Color.White); g.DrawStringRightAligned(fntText, ListShopCharacter[C].Price + " CR", new Vector2(297, 155 + C * 60), Color.White); } }
public override void Draw(CustomSpriteBatch g) { SpriteBatch = g; int Y = 50; g.Draw(sprPixel, new Rectangle(0, 0, Constants.Width, Constants.Height), Color.FromNonPremultiplied(0, 0, 0, 160)); #region Unit representation g.Draw(sprPixel, new Rectangle(0, 50 + (int)MenuChoice * 20, Constants.Width, 20), Color.FromNonPremultiplied(255, 255, 255, 100)); g.DrawString(fntArial12, "Unit representation", new Vector2(10, Y), Color.White); if (Constants.UnitRepresentationState == Constants.UnitRepresentationStates.Colored) { g.DrawStringRightAligned(fntArial12, "Colored", new Vector2(Constants.Width - 10, Y), Color.Red); } else if (Constants.UnitRepresentationState == Constants.UnitRepresentationStates.NonColored) { g.DrawStringRightAligned(fntArial12, "Non colored", new Vector2(Constants.Width - 10, Y), Color.White); } else if (Constants.UnitRepresentationState == Constants.UnitRepresentationStates.NonColoredWithBorder) { g.DrawStringRightAligned(fntArial12, "Non colored with border", new Vector2(Constants.Width - 10 - 1, Y), Color.Red); g.DrawStringRightAligned(fntArial12, "Non colored with border", new Vector2(Constants.Width - 10 + 1, Y), Color.Red); g.DrawStringRightAligned(fntArial12, "Non colored with border", new Vector2(Constants.Width - 10, Y - 1), Color.Red); g.DrawStringRightAligned(fntArial12, "Non colored with border", new Vector2(Constants.Width - 10, Y + 1), Color.Red); g.DrawStringRightAligned(fntArial12, "Non colored with border", new Vector2(Constants.Width - 10, Y), Color.White); } #endregion Y += 20; #region Health bar g.DrawString(fntArial12, "Show health bar", new Vector2(10, Y), Color.White); if (Constants.ShowHealthBar) { g.DrawString(fntArial12, "On", new Vector2(Constants.Width - 10, Y), Color.Red); } else { g.DrawString(fntArial12, "Off", new Vector2(Constants.Width - 10, Y), Color.Red); } #endregion Y += 20; #region Window type g.DrawString(fntArial12, "Window type", new Vector2(10, Y), Color.White); if (Constants.WindowType == Constants.WindowTypes.Original) { g.DrawString(fntArial12, "Original", new Vector2(Constants.Width - 10, Y), Color.Red); } else if (Constants.WindowType == Constants.WindowTypes.Streched) { g.DrawString(fntArial12, "Streched", new Vector2(Constants.Width - 10, Y), Color.Red); } else if (Constants.WindowType == Constants.WindowTypes.KeeptAspectRatio) { g.DrawString(fntArial12, "Keept aspect ratio", new Vector2(Constants.Width - 10, Y), Color.Red); } else if (Constants.WindowType == Constants.WindowTypes.Extend) { g.DrawString(fntArial12, "Extend", new Vector2(Constants.Width - 10, Y), Color.Red); } #endregion Y += 20; #region Fullscreen g.DrawString(fntArial12, "Fullscreen", new Vector2(10, Y), Color.White); if (Constants.WindowType == Constants.WindowTypes.Original) { g.DrawStringRightAligned(fntArial12, "Off", new Vector2(Constants.Width - 10, Y), Color.Gray); } else if (Constants.graphics.IsFullScreen) { g.DrawStringRightAligned(fntArial12, "On", new Vector2(Constants.Width - 10, Y), Color.Red); } else { g.DrawStringRightAligned(fntArial12, "Off", new Vector2(Constants.Width - 10, Y), Color.Red); } #endregion Y += 20; #region Screen Size g.DrawString(fntArial12, "Screen Size", new Vector2(10, Y), Color.White); if (Constants.WindowType == Constants.WindowTypes.Original) { g.DrawStringRightAligned(fntArial12, Constants.ScreenSizes[Constants.ScreenSize], new Vector2(Constants.Width - 10, Y), Color.Gray); } else { g.DrawStringRightAligned(fntArial12, Constants.ScreenSizes[Constants.ScreenSize], new Vector2(Constants.Width - 10, Y), Color.Red); } #endregion }
public override void Draw(CustomSpriteBatch g) { g.End(); g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend); GraphicsDevice.Clear(Color.Black); g.DrawString(fntArial26, "INTERMISSION", new Vector2(0, 0), Color.White); int X = (int)fntArial26.MeasureString("INTERMISSION").X; int Y = fntArial26.LineSpacing - 1; int CursorCounter = 0; for (int i = 0; i < Menu.Count(); i++) { DrawBox(g, new Vector2(0, Y + fntArial15.LineSpacing), X, fntArial15.LineSpacing * Menu[i].Categories.Count() + 6, Color.White); g.DrawStringRightAligned(fntArial15, Menu[i].Name, new Vector2(X, Y), Color.White); Y += 3; for (int j = 0; j < Menu[i].Categories.Count(); j++) { if (Menu[i].IsAvailable[j]) { g.DrawString(fntArial15, Menu[i].Categories[j], new Vector2(10, Y += fntArial15.LineSpacing), Color.White); } else { g.DrawString(fntArial15, Menu[i].Categories[j], new Vector2(10, Y += fntArial15.LineSpacing), Color.Gray); } if (SelectedChoice == CursorCounter) { g.Draw(sprPixel, new Rectangle(5, Y, X - 10, fntArial15.LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127)); } ++CursorCounter; } Y += fntArial15.LineSpacing + 3; } Y += 3; DrawBox(g, new Vector2(0, Y), Constants.Width, fntArial15.LineSpacing * 3 + 6, Color.White); g.DrawString(fntArial15, "Money", new Vector2(10, Y + 3), Color.White); g.DrawStringRightAligned(fntArial15, Constants.Money.ToString(), new Vector2(340, Y + 3), Color.White); g.DrawString(fntArial15, "Next Stage", new Vector2(350, Y + 3), Color.White); g.DrawStringRightAligned(fntArial15, BattleMap.NextMapPath, new Vector2(630, Y + 3), Color.White); Y += fntArial15.LineSpacing; g.DrawString(fntArial15, "Skill Points", new Vector2(10, Y + 3), Color.White); g.DrawStringRightAligned(fntArial15, "0", new Vector2(340, Y + 3), Color.White); g.DrawString(fntArial15, "Deploy 0 units", new Vector2(350, Y + 3), Color.White); Y += fntArial15.LineSpacing; g.DrawString(fntArial15, "Cleared Stages", new Vector2(10, Y + 3), Color.White); g.DrawStringRightAligned(fntArial15, BattleMap.ClearedStages.ToString(), new Vector2(340, Y + 3), Color.White); g.DrawString(fntArial15, "Turns", new Vector2(350, Y + 3), Color.White); Y = fntArial26.LineSpacing - 1; if (ListPresentCharacter.Count > 0) { Character MainCharacter = ListPresentCharacter[0]; DrawBox(g, new Vector2(X + 10, fntArial26.LineSpacing - 1), 120, 120, Color.White); g.Draw(sprPixel, new Rectangle(X + 30, Y + 20, 80, 80), Color.White); DrawRectangle(g, new Vector2(X + 30, Y + 20), new Vector2(X + 30 + 80, Y + 20 + 80), Color.Black); g.Draw(MainCharacter.sprPortrait, new Vector2(X + 30, Y + 20), Color.White); g.DrawString(fntArial26, "#1 ACE", new Vector2(X + 140, Y), Color.White); g.DrawString(fntArial15, MainCharacter.Name, new Vector2(X + 140, Y += fntArial26.LineSpacing), Color.White); g.DrawString(fntArial15, "Level:", new Vector2(X + 140, Y += fntArial15.LineSpacing), Color.White); g.DrawStringRightAligned(fntArial15, MainCharacter.Level.ToString(), new Vector2(X + 240, Y + 3), Color.White); g.DrawString(fntArial15, "Kills:", new Vector2(X + 140, Y += fntArial15.LineSpacing), Color.White); g.DrawStringRightAligned(fntArial15, MainCharacter.Kills.ToString(), new Vector2(X + 240, Y + 3), Color.White); Y = 170; for (int i = 2; i <= 7 && i - 1 < ListPresentCharacter.Count; ++i) { Character ActiveCharacter = ListPresentCharacter[i - 1]; g.DrawString(fntArial26, "#" + i, new Vector2(X + 15, Y), Color.White); g.DrawStringRightAligned(fntArial26, ActiveCharacter.Kills.ToString(), new Vector2(X + 130, Y), Color.White); g.DrawString(fntArial26, ActiveCharacter.Name, new Vector2(X + 150, Y), Color.White); Y += fntArial26.LineSpacing; } } }
public void DrawPart1(CustomSpriteBatch g) { g.DrawString(fntArial13, "Joueur 1" + ": " + ActiveVehicule.Name, new Vector2(5, 540), Color.White); g.DrawStringRightAligned(fntArial13, "Argent " + ActiveVehicule.Argent + " $", new Vector2(710, 540), Color.White); //Armes Tank if (ActiveSelection.ItemSelected > 0) { int Select = ActiveSelection.ItemSelected; int PrixTampon = 0; Weapon ActiveWeapon = null; if (Select <= 3) { ActiveWeapon = ActiveVehicule.ArrayWeaponPrimary[Select - 1]; } else { ActiveWeapon = ActiveVehicule.ArrayWeaponSecondary[Select - 4]; } ShopItemInfo ActivePriceTable = ActiveSelection.WeaponPriceTable[Select - 1]; g.DrawString(fntArial15, ActiveWeapon.ArmeLevel.ToString(), new Vector2(530, 569), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponRateOfFire.ToString(), new Vector2(100, 594), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpread.ToString(), new Vector2(120, 619), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponEnergy.ToString(), new Vector2(160, 644), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponDamage.ToString(), new Vector2(120, 669), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponResist.ToString(), new Vector2(120, 694), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpeed.ToString(), new Vector2(170, 719), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpecial.ToString(), new Vector2(205, 744), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponRateOfFireLvl.ToString(), new Vector2(530, 594), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpreadLvl.ToString(), new Vector2(530, 619), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponEnergyLvl.ToString(), new Vector2(530, 644), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponDamageLvl.ToString(), new Vector2(530, 669), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponResistLvl.ToString(), new Vector2(530, 694), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpeedLvl.ToString(), new Vector2(530, 719), Color.Black); g.DrawString(fntArial15, ActiveWeapon.WeaponSpecialLvl.ToString(), new Vector2(530, 744), Color.Black); //Affichage prix si non niveau maximum //Arme if (ActiveWeapon.ArmeLevel < 3) { PrixTampon = ActivePriceTable.BasePrice + ActiveWeapon.ArmeLevel * ActivePriceTable.PriceMultiplier; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 569), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 570 && MousePos.Y <= 589) { g.Draw(SprShopAmeliorerP, new Vector2(555, 570), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ++ActiveWeapon.ArmeLevel; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 569), Color.Red); } } //Cadence if (ActiveWeapon.WeaponRateOfFireLvl < ActiveWeapon.ArmeLevel * 3) { PrixTampon = ActivePriceTable.RateOfFirePrice * ActiveWeapon.WeaponRateOfFireLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 594), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 595 && MousePos.Y <= 614) { g.Draw(SprShopAmeliorerP, new Vector2(555, 595), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveWeapon.WeaponRateOfFire -= ActiveWeapon.RateOfFireMod; ++ActiveWeapon.WeaponRateOfFireLvl; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 594), Color.Red); } } #region Dispertion switch (Select) { case 1: if (ActiveWeapon.WeaponSpreadLvl < (ActiveWeapon.ArmeLevel * 2) - 1) { if (ActiveWeapon.WeaponSpreadLvl >= 1) { PrixTampon = ActivePriceTable.SpreadPrice; } else if (ActiveWeapon.WeaponSpreadLvl >= 3) { PrixTampon = ActivePriceTable.SpreadPrice * 2; } else if (ActiveWeapon.WeaponSpreadLvl >= 4) { PrixTampon = ActivePriceTable.SpreadPrice * 3; } PrixTampon *= ActiveWeapon.WeaponSpreadLvl; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 619 && MousePos.Y <= 638) { g.Draw(SprShopAmeliorerP, new Vector2(555, 619), Color.White); if (MouseLeftPressed) { UpgradeSpread(ActiveWeapon, PrixTampon); } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Red); } } break; case 2: case 3: if (ActiveWeapon.WeaponSpreadLvl < ActiveWeapon.ArmeLevel) { if (ActiveWeapon.WeaponSpreadLvl >= 1) { PrixTampon = ActivePriceTable.SpreadPrice; } else if (ActiveWeapon.WeaponSpreadLvl >= 3) { PrixTampon = ActivePriceTable.SpreadPrice * 2; } else if (ActiveWeapon.WeaponSpreadLvl >= 4) { PrixTampon = ActivePriceTable.SpreadPrice * 3; } PrixTampon *= ActiveWeapon.WeaponSpreadLvl; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 619 && MousePos.Y <= 638) { g.Draw(SprShopAmeliorerP, new Vector2(555, 619), Color.White); if (MouseLeftPressed) { UpgradeSpread(ActiveWeapon, PrixTampon); } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Red); } } break; case 7: if (ActiveWeapon.WeaponSpreadLvl < ActiveWeapon.ArmeLevel) { if (ActiveWeapon.WeaponSpreadLvl >= 0) { PrixTampon = ActivePriceTable.SpreadPrice; } else if (ActiveWeapon.WeaponSpreadLvl >= 3) { PrixTampon = ActivePriceTable.SpreadPrice * 2; } else if (ActiveWeapon.WeaponSpreadLvl >= 6) { PrixTampon = ActivePriceTable.SpreadPrice * 3; } PrixTampon *= ActiveWeapon.WeaponSpreadLvl; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 619 && MousePos.Y <= 638) { g.Draw(SprShopAmeliorerP, new Vector2(555, 619), Color.White); if (MouseLeftPressed) { UpgradeSpread(ActiveWeapon, PrixTampon); } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Red); } } break; default: if (ActiveWeapon.WeaponSpreadLvl < ActiveWeapon.ArmeLevel * 3) { if (ActiveWeapon.WeaponSpreadLvl >= 0) { PrixTampon = ActivePriceTable.SpreadPrice; } else if (ActiveWeapon.WeaponSpreadLvl >= 3) { PrixTampon = ActivePriceTable.SpreadPrice * 2; } else if (ActiveWeapon.WeaponSpreadLvl >= 6) { PrixTampon = ActivePriceTable.SpreadPrice * 3; } PrixTampon *= ActiveWeapon.WeaponSpreadLvl; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 619 && MousePos.Y <= 638) { g.Draw(SprShopAmeliorerP, new Vector2(555, 619), Color.White); if (MouseLeftPressed) { UpgradeSpread(ActiveWeapon, PrixTampon); } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 619), Color.Red); } } break; } #endregion //Énergie if (ActiveWeapon.WeaponEnergyLvl < ActiveWeapon.ArmeLevel * 3) { PrixTampon = ActivePriceTable.EnergyPrice * ActiveWeapon.WeaponEnergyLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 644), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 645 && MousePos.Y <= 664) { g.Draw(SprShopAmeliorerP, new Vector2(555, 645), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveWeapon.WeaponEnergy -= ActiveWeapon.EnergyMod; ++ActiveWeapon.WeaponEnergyLvl; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 644), Color.Red); } } //Dégât if (ActiveWeapon.WeaponDamageLvl < ActiveWeapon.ArmeLevel * 3) { PrixTampon = ActivePriceTable.DamagePrice * ActiveWeapon.WeaponDamageLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 669), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 670 && MousePos.Y <= 689) { g.Draw(SprShopAmeliorerP, new Vector2(555, 670), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveWeapon.WeaponDamage += ActiveWeapon.PowerMod; ++ActiveWeapon.WeaponDamageLvl; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 669), Color.Red); } } //Résistence if (ActiveWeapon.WeaponResistLvl < ActiveWeapon.ArmeLevel * 3) { PrixTampon = ActivePriceTable.ResistPrice * ActiveWeapon.WeaponResistLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 694), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 695 && MousePos.Y <= 714) { g.Draw(SprShopAmeliorerP, new Vector2(555, 695), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveWeapon.WeaponResist += ActiveWeapon.ResistMod; ++ActiveWeapon.WeaponResistLvl; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 694), Color.Red); } } //Vitesse if (ActiveWeapon.WeaponSpeedLvl < ActiveWeapon.ArmeLevel * 3) { PrixTampon = ActivePriceTable.SpeedPrice * ActiveWeapon.WeaponSpeedLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 719), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 720 && MousePos.Y <= 739) { g.Draw(SprShopAmeliorerP, new Vector2(555, 720), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveWeapon.WeaponSpeed += ActiveWeapon.SpeedMod; ++ActiveWeapon.WeaponSpeedLvl; } } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 719), Color.Red); } } } if (ActiveShopItemInfo.ItemText != null) { TypewritterText(g, 50, 100, 2); g.DrawString(fntArial15, ActiveShopItemInfo.ItemText, new Vector2(150, 569), Color.Black); } switch (ActiveSelection.ItemSelected) { //Tank choisi case 0: g.DrawString(fntArial15, ActiveVehicule.VehiculeLevel.ToString(), new Vector2(530, 569), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculePerte.ToString(), new Vector2(160, 644), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeResist.ToString(), new Vector2(120, 694), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeVitesse.ToString(), new Vector2(170, 719), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeSpecial.ToString(), new Vector2(205, 744), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculePerteLvl.ToString(), new Vector2(530, 644), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeResistLvl.ToString(), new Vector2(530, 694), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeVitesseLvl.ToString(), new Vector2(530, 719), Color.Black); g.DrawString(fntArial15, ActiveVehicule.VehiculeSpecialLvl.ToString(), new Vector2(530, 744), Color.Black); //Véhicule if (ActiveVehicule.VehiculeLevel < 3) { int PrixTampon = ActiveSelection.VehiculePriceTable.BasePrice * ActiveVehicule.VehiculeLevel; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 569), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 570 && MousePos.Y <= 589) { g.Draw(SprShopAmeliorerP, new Vector2(555, 570), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ++ActiveVehicule.VehiculeLevel; } } else { g.Draw(SprShopAmeliorer, new Vector2(555, 570), Color.White); } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 569), Color.Red); } } //Énergie if (ActiveVehicule.VehiculePerteLvl < ActiveVehicule.VehiculeLevel * 3) { int PrixTampon = ActiveSelection.VehiculePriceTable.EnergyPrice * ActiveVehicule.VehiculePerteLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 644), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 645 && MousePos.Y <= 664) { g.Draw(SprShopAmeliorerP, new Vector2(555, 645), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveVehicule.VehiculePerte -= ActiveVehicule.EnergyMod; ++ActiveVehicule.VehiculePerteLvl; } } else { g.Draw(SprShopAmeliorer, new Vector2(555, 645), Color.White); } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 644), Color.Red); } } //Résistence if (ActiveVehicule.VehiculeResistLvl < ActiveVehicule.VehiculeLevel * 3) { int PrixTampon = ActiveSelection.VehiculePriceTable.ResistPrice * ActiveVehicule.VehiculeResistLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 694), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 695 && MousePos.Y <= 714) { g.Draw(SprShopAmeliorerP, new Vector2(555, 695), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveVehicule.VehiculeResist -= ActiveVehicule.ResistMod; ++ActiveVehicule.VehiculeResistLvl; } } else { g.Draw(SprShopAmeliorer, new Vector2(555, 695), Color.White); } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 694), Color.Red); } } //Vitesse if (ActiveVehicule.VehiculeVitesseLvl < ActiveVehicule.VehiculeLevel * 3) { int PrixTampon = ActiveSelection.VehiculePriceTable.SpeedPrice * ActiveVehicule.VehiculeVitesseLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 719), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 720 && MousePos.Y <= 739) { g.Draw(SprShopAmeliorerP, new Vector2(555, 720), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ActiveVehicule.VehiculeVitesse -= ActiveVehicule.SpeedMod; ActiveVehicule.VehiculeVitesseLvl += 1; } } else { g.Draw(SprShopAmeliorer, new Vector2(555, 720), Color.White); } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 719), Color.Red); } } //Spécial if (ActiveVehicule.VehiculeSpecialLvl < ActiveVehicule.VehiculeLevel * 3) { int PrixTampon = ActiveSelection.VehiculePriceTable.SpecialPrice * ActiveVehicule.VehiculeSpecialLvl / 3; if (ActiveVehicule.Argent >= PrixTampon) { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 744), Color.Black); if (MousePos.X >= 555 && MousePos.X <= 717 && MousePos.Y >= 745 && MousePos.Y <= 764) { g.Draw(SprShopAmeliorerP, new Vector2(555, 745), Color.White); if (MouseLeftPressed) { ActiveVehicule.Argent -= PrixTampon; ++ActiveVehicule.VehiculeSpecialLvl; //Niveau 4 = Barre de rage if (ActiveVehicule.VehiculeSpecialLvl == 2) { ActiveVehicule.VehiculeEnergieMax += 50; } if (ActiveVehicule.VehiculeSpecialLvl == 6) { ActiveVehicule.VehiculeResistMax += 50; } if (ActiveVehicule.VehiculeSpecialLvl == 8) { ActiveVehicule.VehiculeResistMax += 50; } if (ActiveVehicule.VehiculeSpecialLvl % 2 == 1) //1, 3, 5, 7, 9 { ActiveVehicule.VehiculeSpecial += 1; } } } else { g.Draw(SprShopAmeliorer, new Vector2(555, 745), Color.White); } } else { g.DrawStringRightAligned(fntArial15, PrixTampon + "$", new Vector2(440, 744), Color.Red); } } break; } }
private void DrawUpgradeMenu(CustomSpriteBatch g) { g.Draw(sprMapMenuBackground, new Vector2(0, 0), Color.White); g.DrawString(fntFinlanderFont, "UNIT UPGRADE", new Vector2(10, 10), Color.White); g.Draw(SelectedUnit.SpriteMap, new Vector2(20, 50), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.FullName, new Vector2(60, 50), Color.White); g.Draw(sprPixel, new Rectangle(60, 75, (int)fntFinlanderFont.MeasureString(SelectedUnit.FullName).X, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); g.Draw(SelectedUnit.SpriteUnit, new Vector2(250 - SelectedUnit.SpriteUnit.Width, 280 - SelectedUnit.SpriteUnit.Height), Color.White); int Y = 350; DrawBox(g, new Vector2(5, Y), 450, 120, Color.Black); DrawBox(g, new Vector2(455, Y), 180, 120, Color.Black); g.DrawString(fntFinlanderFont, "HP", new Vector2(15, Y += 5), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.MaxHP.ToString(), new Vector2(150, Y), Color.White); SelectedUnit.UnitStat.HPUpgrades.Value += HPUpgradeCount; g.DrawString(fntFinlanderFont, SelectedUnit.MaxHP.ToString(), new Vector2(240, Y), Color.White); SelectedUnit.UnitStat.HPUpgrades.Value -= HPUpgradeCount; DrawUpgradeBar(g, Y, SelectedUnit.UnitStat.HPUpgrades.Value, HPUpgradeCount); g.DrawString(fntFinlanderFont, "EN", new Vector2(15, Y += fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.MaxEN.ToString(), new Vector2(150, Y), Color.White); SelectedUnit.UnitStat.ENUpgrades.Value += ENUpgradeCount; g.DrawString(fntFinlanderFont, SelectedUnit.MaxEN.ToString(), new Vector2(240, Y), Color.White); SelectedUnit.UnitStat.ENUpgrades.Value -= ENUpgradeCount; DrawUpgradeBar(g, Y, SelectedUnit.UnitStat.ENUpgrades.Value, ENUpgradeCount); g.DrawString(fntFinlanderFont, "Armor", new Vector2(15, Y += fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.Armor.ToString(), new Vector2(150, Y), Color.White); SelectedUnit.UnitStat.ArmorUpgrades.Value += ArmorUpgradeCount; g.DrawString(fntFinlanderFont, SelectedUnit.Armor.ToString(), new Vector2(240, Y), Color.White); SelectedUnit.UnitStat.ArmorUpgrades.Value -= ArmorUpgradeCount; DrawUpgradeBar(g, Y, SelectedUnit.UnitStat.ArmorUpgrades.Value, ArmorUpgradeCount); g.DrawString(fntFinlanderFont, "Mobility", new Vector2(15, Y += fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, SelectedUnit.Mobility.ToString(), new Vector2(150, Y), Color.White); SelectedUnit.UnitStat.MobilityUpgrades.Value += MobilityUpgradeCount; g.DrawString(fntFinlanderFont, SelectedUnit.Mobility.ToString(), new Vector2(240, Y), Color.White); SelectedUnit.UnitStat.MobilityUpgrades.Value -= MobilityUpgradeCount; DrawUpgradeBar(g, Y, SelectedUnit.UnitStat.MobilityUpgrades.Value, MobilityUpgradeCount); g.DrawString(fntFinlanderFont, "Attacks", new Vector2(15, Y += fntFinlanderFont.LineSpacing), Color.White); DrawUpgradeBar(g, Y, SelectedUnit.UnitStat.AttackUpgrades.Value, AttackUpgradeCount); if (UpgradeChoice == UpgradeChoices.Attacks) { AttackPicker.DrawTopAttackPanel(g, fntFinlanderFont, SelectedUnit, 0, false); int YStart = 115; int YStep = 25; g.DrawString(fntFinlanderFont, "Power", new Vector2(350, YStart - 25), Color.Yellow); for (int i = 0; i < SelectedUnit.ListAttack.Count && i <= 8; i++, i++) { int CurrentPower = SelectedUnit.ListAttack[i].GetPower(SelectedUnit); SelectedUnit.UnitStat.AttackUpgrades.Value += AttackUpgradeCount; int NextPower = SelectedUnit.ListAttack[i].GetPower(SelectedUnit); SelectedUnit.UnitStat.AttackUpgrades.Value -= AttackUpgradeCount; g.DrawStringRightAligned(fntFinlanderFont, CurrentPower.ToString(), new Vector2(400, YStart + i * YStep), Color.White); g.DrawString(fntFinlanderFont, "-> " + NextPower.ToString(), new Vector2(410, YStart + i * YStep), Color.White); g.DrawStringRightAligned(fntFinlanderFont, "(+" + (NextPower - CurrentPower).ToString() + ")", new Vector2(620, YStart + i * YStep), Color.White); } } Y = 360 + (int)UpgradeChoice * fntFinlanderFont.LineSpacing; DrawRectangle(g, new Vector2(15, Y), new Vector2(452, Y + fntFinlanderFont.LineSpacing), Color.Yellow); Y = 350; g.DrawString(fntFinlanderFont, "Money", new Vector2(460, Y += 5), Color.White); g.DrawStringRightAligned(fntFinlanderFont, Constants.Money.ToString(), new Vector2(625, Y), Color.White); g.DrawString(fntFinlanderFont, "Cost", new Vector2(460, Y += 40), Color.White); g.DrawStringRightAligned(fntFinlanderFont, UpgradeTotalCost.ToString(), new Vector2(625, Y), Color.White); g.DrawString(fntFinlanderFont, "Result", new Vector2(460, Y += 40), Color.White); g.DrawStringRightAligned(fntFinlanderFont, (Constants.Money - UpgradeTotalCost).ToString(), new Vector2(625, Y), Color.White); }
public void DrawUnit(CustomSpriteBatch g) { Unit ActiveUnit = ActiveSquad.CurrentLeader; g.Draw(ActiveSquad.CurrentLeader.SpriteMap, new Vector2(20, 50), Color.White); g.DrawString(fntFinlanderFont, ActiveSquad.CurrentLeader.FullName, new Vector2(60, 50), Color.White); g.Draw(sprPixel, new Rectangle(60, 75, (int)fntFinlanderFont.MeasureString(ActiveSquad.CurrentLeader.FullName).X, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); g.Draw(ActiveSquad.CurrentLeader.SpriteUnit, new Vector2(250 - ActiveSquad.CurrentLeader.SpriteUnit.Width, 280 - ActiveSquad.CurrentLeader.SpriteUnit.Height), Color.White); DrawBox(g, new Vector2(355, 88), 260, 40, Color.Gray); DrawBox(g, new Vector2(355, 128), 260, 160, Color.White); g.DrawString(fntFinlanderFont, "Ability", new Vector2(445, 92), Color.Yellow); for (int A = 0; A < 4; A++) { if (A < ActiveSquad.CurrentLeader.ArrayUnitAbility.Length) { g.DrawString(fntFinlanderFont, ActiveSquad.CurrentLeader.ArrayUnitAbility[A].Name, new Vector2(370, 130 + A * 40), Color.White); } else { g.DrawString(fntFinlanderFont, "---------", new Vector2(370, 130 + A * 40), Color.White); } } for (int A = 0; A < 4; A++) { if (A + 4 < ActiveSquad.CurrentLeader.ArrayUnitAbility.Length) { g.DrawString(fntFinlanderFont, ActiveSquad.CurrentLeader.ArrayUnitAbility[A + 4].Name, new Vector2(490, 130 + A * 40), Color.White); } else { g.DrawString(fntFinlanderFont, "---------", new Vector2(490, 130 + A * 40), Color.White); } } int BottomWidth = 504; int BottomPositionY = 288; int BottomHeight = 182; DrawBox(g, new Vector2(5, BottomPositionY), BottomWidth, BottomHeight, Color.White); int DistanceBetweenText = 16; int MenuOffset = (int)(DistanceBetweenText * 0.5); g.DrawString(fntFinlanderFont, "HP", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.Yellow); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(55, BottomPositionY - MenuOffset + 20 + DistanceBetweenText), ActiveUnit.HP, ActiveUnit.MaxHP); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.HP + "/" + ActiveUnit.MaxHP, new Vector2(222, BottomPositionY - MenuOffset + 6 + DistanceBetweenText), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.Yellow); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(55, BottomPositionY - MenuOffset + 20 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), ActiveUnit.EN, ActiveUnit.MaxEN); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.EN + "/" + ActiveUnit.MaxEN, new Vector2(222, BottomPositionY - MenuOffset + 6 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, "Armor", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.Yellow); g.DrawString(fntFinlanderFont, ActiveUnit.Armor.ToString(), new Vector2(95, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.White); g.DrawString(fntFinlanderFont, "Mobility", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 4 + fntFinlanderFont.LineSpacing * 3), Color.Yellow); g.DrawString(fntFinlanderFont, ActiveUnit.Mobility.ToString(), new Vector2(115, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 4 + fntFinlanderFont.LineSpacing * 3), Color.White); g.DrawString(fntFinlanderFont, "MV", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.MaxMovement.ToString(), new Vector2(325, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.White); g.DrawString(fntFinlanderFont, "Size", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.Size, new Vector2(325, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, "Move Type", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.Yellow); g.DrawString(fntFinlanderFont, "Cost", new Vector2(355, 306), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.Price + "$", new Vector2(495, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.White); int CurrentX = 235; if (ActiveUnit.ListTerrainChoices.Contains("Air")) { g.Draw(sprSky, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Land")) { g.Draw(sprLand, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Sea")) { g.Draw(sprSea, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Space")) { g.Draw(sprSpace, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } int MiddlePosX = 520; int CurrentY = 340; DrawBox(g, new Vector2(509, BottomPositionY), 106, 40, Color.Gray); DrawBox(g, new Vector2(509, BottomPositionY + 40), 106, BottomHeight - 40, Color.White); g.DrawString(fntFinlanderFont, "Terrain", new Vector2(523, 292), Color.Yellow); g.Draw(sprSky, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Air").ToString(), new Vector2(MiddlePosX + 34, CurrentY), Color.White); CurrentY += fntFinlanderFont.LineSpacing + 6; g.Draw(sprLand, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Land").ToString(), new Vector2(MiddlePosX + 34, CurrentY), Color.White); CurrentY += fntFinlanderFont.LineSpacing + 6; g.Draw(sprSea, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Sea").ToString(), new Vector2(MiddlePosX + 34, CurrentY), Color.White); CurrentY += fntFinlanderFont.LineSpacing + 6; g.Draw(sprSpace, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Space").ToString(), new Vector2(MiddlePosX + 34, CurrentY), Color.White); if (SecondaryMenuIndex == 1) { BaseAutomaticSkill ActivePilotSkill = ActiveSquad.CurrentLeader.ArrayUnitAbility[SelectedUnitAbilityIndex]; string Description = ActivePilotSkill.Description; if (string.IsNullOrEmpty(Description)) { Description = "No description available for this skill"; } if (SelectedUnitAbilityIndex < 4) { g.Draw(sprPixel, new Rectangle(370, 130 + SelectedUnitAbilityIndex * 40, 100, 30), Color.FromNonPremultiplied(255, 255, 255, 127)); } else { g.Draw(sprPixel, new Rectangle(490, 130 + SelectedUnitAbilityIndex * 40, 100, 30), Color.FromNonPremultiplied(255, 255, 255, 127)); } float MaxBoxWidth = Constants.Width * 0.75f; string Output = FitTextToWidth(fntFinlanderFont, Description, MaxBoxWidth); Vector2 BoxPosition = new Vector2((Constants.Width - MaxBoxWidth) / 2, (Constants.Height - (int)fntFinlanderFont.MeasureString(Output).Y - 20) / 2); DrawBox(g, new Vector2(BoxPosition.X - 10, BoxPosition.Y - 10), (int)MaxBoxWidth + 20, (int)fntFinlanderFont.MeasureString(Output).Y + 20, Color.White); g.DrawString(fntFinlanderFont, Output, BoxPosition, Color.White); } }
public void DrawPilot(CustomSpriteBatch g) { Unit ActiveUnit = ActiveSquad.CurrentLeader; g.Draw(sprPixel, new Rectangle(20, 56, 84, 84), Color.Gray); g.Draw(sprPixel, new Rectangle(22, 58, 80, 80), Color.White); g.Draw(ActiveSquad.CurrentLeader.Pilot.sprPortrait, new Vector2(22, 58), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(110, 50), Color.White); g.Draw(sprPixel, new Rectangle(110, 75, (int)fntFinlanderFont.MeasureString(ActiveUnit.PilotName).X, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); g.DrawString(fntFinlanderFont, "Lvl", new Vector2(110, 80), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotLevel.ToString(), new Vector2(240, 80), Color.White); g.DrawString(fntFinlanderFont, "SP", new Vector2(110, 110), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotSP.ToString(), new Vector2(240, 110), Color.White); g.DrawString(fntFinlanderFont, "NEXT", new Vector2(260, 80), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotNextEXP.ToString(), new Vector2(390, 80), Color.White); g.DrawString(fntFinlanderFont, "Will", new Vector2(260, 110), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotMorale.ToString(), new Vector2(390, 110), Color.White); g.DrawString(fntFinlanderFont, "Kills", new Vector2(410, 80), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotKills.ToString(), new Vector2(540, 80), Color.White); g.DrawString(fntFinlanderFont, "PP", new Vector2(410, 110), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotPilotPoints.ToString(), new Vector2(540, 110), Color.White); g.Draw(sprPixel, new Rectangle(110, 105, 440, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); g.Draw(sprPixel, new Rectangle(110, 135, 440, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); DrawBox(g, new Vector2(20, 160), 180, 40, Color.Gray); DrawBox(g, new Vector2(20, 200), 180, 180, Color.White); g.DrawString(fntFinlanderFont, "Skills", new Vector2(70, 165), Color.Yellow); for (int S = 0; S < 6; S++) { if (S < ActiveSquad.CurrentLeader.Pilot.ArrayPilotSkill.Length) { g.DrawString(fntFinlanderFont, ActiveSquad.CurrentLeader.Pilot.ArrayPilotSkill[S].Name, new Vector2(30, 200 + S * 30), Color.White); } else { g.DrawString(fntFinlanderFont, "---", new Vector2(30, 200 + S * 30), Color.White); } } DrawBox(g, new Vector2(200, 160), 180, 40, Color.Gray); DrawBox(g, new Vector2(200, 200), 180, 180, Color.White); g.DrawString(fntFinlanderFont, "Spirits", new Vector2(245, 165), Color.Yellow); for (int S = 0; S < 6; S++) { if (S < ActiveSquad.CurrentLeader.Pilot.ArrayPilotSpirit.Length) { g.DrawString(fntFinlanderFont, ActiveSquad.CurrentLeader.Pilot.ArrayPilotSpirit[S].Name, new Vector2(210, 200 + S * 30), Color.White); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.Pilot.ArrayPilotSpirit[S].SPCost.ToString(), new Vector2(370, 200 + S * 30), Color.White); } else { g.DrawString(fntFinlanderFont, "---", new Vector2(210, 200 + S * 30), Color.White); } } DrawBox(g, new Vector2(380, 160), 240, 40, Color.Gray); DrawBox(g, new Vector2(380, 200), 240, 120, Color.White); g.DrawString(fntFinlanderFont, "Stats", new Vector2(475, 165), Color.Yellow); g.DrawString(fntFinlanderFont, "MEL", new Vector2(390, 200), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotMEL.ToString(), new Vector2(490, 200), Color.White); g.DrawString(fntFinlanderFont, "SKL", new Vector2(390, 240), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotSKL.ToString(), new Vector2(490, 240), Color.White); g.DrawString(fntFinlanderFont, "EVA", new Vector2(390, 280), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotEVA.ToString(), new Vector2(490, 280), Color.White); g.DrawString(fntFinlanderFont, "RNG", new Vector2(500, 200), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotRNG.ToString(), new Vector2(605, 200), Color.White); g.DrawString(fntFinlanderFont, "DEF", new Vector2(500, 240), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotDEF.ToString(), new Vector2(605, 240), Color.White); g.DrawString(fntFinlanderFont, "HIT", new Vector2(500, 280), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveSquad.CurrentLeader.PilotHIT.ToString(), new Vector2(605, 280), Color.White); DrawBox(g, new Vector2(380, 320), 240, 40, Color.Gray); DrawBox(g, new Vector2(380, 360), 240, 60, Color.White); g.DrawString(fntFinlanderFont, "Terrain", new Vector2(460, 325), Color.Yellow); g.Draw(sprSky, new Vector2(390, 380), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.Pilot.TerrainGrade.TerrainGradeAir.ToString(), new Vector2(420, 378), Color.White); g.Draw(sprLand, new Vector2(446, 380), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.Pilot.TerrainGrade.TerrainGradeLand.ToString(), new Vector2(476, 378), Color.White); g.Draw(sprSea, new Vector2(502, 380), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.Pilot.TerrainGrade.TerrainGradeSea.ToString(), new Vector2(532, 378), Color.White); g.Draw(sprSpace, new Vector2(558, 380), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.Pilot.TerrainGrade.TerrainGradeSpace.ToString(), new Vector2(588, 378), Color.White); DrawBox(g, new Vector2(20, 380), 360, 40, Color.Gray); DrawBox(g, new Vector2(20, 420), 360, 40, Color.White); g.DrawString(fntFinlanderFont, "Ace Bonus", new Vector2(30, 385), Color.Yellow); g.DrawString(fntFinlanderFont, "------------------", new Vector2(30, 425), Color.White); if (SecondaryMenuIndex == 1) { string Description = ""; if (SelectedPilotSkillIndex >= 0) { BaseAutomaticSkill ActivePilotSkill = ActiveSquad.CurrentLeader.Pilot.ArrayPilotSkill[SelectedPilotSkillIndex]; Description = ActivePilotSkill.Description; g.Draw(sprPixel, new Rectangle(30, 200 + SelectedPilotSkillIndex * 30, 100, 30), Color.FromNonPremultiplied(255, 255, 255, 127)); } else { ManualSkill ActivePilotSpirit = ActiveSquad.CurrentLeader.Pilot.ArrayPilotSpirit[SelectedPilotSpiritIndex]; Description = ActivePilotSpirit.Description; g.Draw(sprPixel, new Rectangle(210, 200 + SelectedPilotSpiritIndex * 30, 100, 30), Color.FromNonPremultiplied(255, 255, 255, 127)); } if (string.IsNullOrEmpty(Description)) { Description = "No description available for this skill"; } float MaxBoxWidth = Constants.Width * 0.75f; string Output = FitTextToWidth(fntFinlanderFont, Description, MaxBoxWidth); Vector2 BoxPosition = new Vector2((Constants.Width - MaxBoxWidth) / 2, (Constants.Height - (int)fntFinlanderFont.MeasureString(Output).Y - 20) / 2); DrawBox(g, new Vector2(BoxPosition.X - 10, BoxPosition.Y - 10), (int)MaxBoxWidth + 20, (int)fntFinlanderFont.MeasureString(Output).Y + 20, Color.White); g.DrawString(fntFinlanderFont, Output, BoxPosition, Color.White); } }
public override void Draw(CustomSpriteBatch g) { g.End(); if (ActiveAnimationBackground != null) { ActiveAnimationBackground.Draw(g, Constants.Width, Constants.Height); } g.Begin(); for (int A = ListAnimationLayer.Count - 1; A >= 0; --A) { if (ListAnimationLayer[A].ListPolygonCutter.Count > 0) { PolygonEffect.Texture = ListAnimationLayer[A].renderTarget; PolygonEffect.CurrentTechnique.Passes[0].Apply(); GraphicsDevice.RasterizerState = RasterizerState.CullNone; for (int P = 0; P < ListAnimationLayer[A].ListPolygonCutter.Count; P++) { ListAnimationLayer[A].ListPolygonCutter[P].Draw(g, false); } } else { if (IsLeftAttacking) { g.Draw(ListAnimationLayer[A].renderTarget, new Vector2(Constants.Width / 2, Constants.Height / 2), null, Color.White, 0, new Vector2(Constants.Width / 2, Constants.Height / 2), 1, SpriteEffects.FlipHorizontally, 0); } else { g.Draw(ListAnimationLayer[A].renderTarget, Vector2.Zero, Color.White); } } } g.End(); g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend); DrawBox(g, new Vector2(0, 0), Constants.Width / 2, 84, Color.Red); int PosX = 0; DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), UnitStats.LeftUnitHP, UnitStats.LeftUnitHPMax); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), UnitStats.LeftUnitEN, UnitStats.LeftUnitENMax); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, UnitStats.LeftUnitHP + "/" + UnitStats.LeftUnitHPMax, new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, UnitStats.LeftUnitEN + "/" + UnitStats.LeftUnitENMax, new Vector2(PosX + 242, 37), Color.White); g.Draw(LeftSquad.CurrentLeader.SpriteMap, new Vector2(PosX + 7, 30), Color.White); PosX = Constants.Width / 2 + 68; DrawBox(g, new Vector2(Constants.Width / 2, 0), Constants.Width / 2, 84, Color.Blue); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), UnitStats.RightUnitHP, UnitStats.RightUnitHPMax); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), UnitStats.RightUnitEN, UnitStats.RightUnitENMax); g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, UnitStats.RightUnitHP + "/" + UnitStats.RightUnitHPMax, new Vector2(PosX + 242, 17), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, UnitStats.RightUnitEN + "/" + UnitStats.RightUnitENMax, new Vector2(PosX + 242, 37), Color.White); g.Draw(RightSquad.CurrentLeader.SpriteMap, new Vector2(PosX + 7, 30), Color.White); g.Draw(sprInfinity, new Vector2((Constants.Width - sprInfinity.Width) / 2, 15), Color.White); DrawBox(g, new Vector2(0, Constants.Height - VNBoxHeight), Constants.Width, VNBoxHeight, Color.White); if (ActiveCharacter != null) { if (ActiveCharacter.IsAnimated) { for (int L = ActiveCharacter.ActiveAnimation.ListAnimationLayer.Count - 1; L >= 0; --L) { int OriginX = (int)ActiveCharacter.ActiveAnimation.AnimationOrigin.Position.X; g.Draw(ActiveCharacter.ActiveAnimation.ListAnimationLayer[L].renderTarget, new Vector2(0, Constants.Height - VNBoxHeight), null, Color.White, 0, new Vector2(OriginX, ActiveCharacter.ActiveAnimation.AnimationOrigin.Position.Y), new Vector2(1, 1), SpriteEffects.None, 0); } } else { g.Draw(ActiveCharacter.StaticSprite, new Rectangle(30, Constants.Height - VNBoxHeight + 40, ActiveCharacter.StaticSprite.Width, ActiveCharacter.StaticSprite.Height), new Rectangle(0, 0, ActiveCharacter.StaticSprite.Width, ActiveCharacter.StaticSprite.Height), Color.White, 0, Vector2.Zero, SpriteEffects.FlipHorizontally, 0); } } g.DrawString(fntFinlanderFont, ExtraText, new Vector2(25, Constants.Height - VNBoxHeight + 10), Color.White); if (ActiveQuoteSet != null) { g.DrawString(fntFinlanderFont, ActiveQuoteSet, new Vector2(125, Constants.Height - VNBoxHeight + 40), Color.White); } g.End(); g.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); }
public void DrawSummary(CustomSpriteBatch g) { Unit ActiveUnit = ActiveSquad.CurrentLeader; g.Draw(ActiveUnit.SpriteMap, new Vector2(20, 50), Color.White); g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(60, 50), Color.White); g.Draw(sprPixel, new Rectangle(60, 75, (int)fntFinlanderFont.MeasureString(ActiveUnit.FullName).X, 1), Color.FromNonPremultiplied(173, 216, 230, 190)); g.Draw(ActiveUnit.SpriteUnit, new Vector2(240, 280 - ActiveUnit.SpriteUnit.Height), Color.White); int BottomWidth = 504 - 100; int BottomPositionY = 288; int BottomHeight = 182; DrawBox(g, new Vector2(5, BottomPositionY), BottomWidth, BottomHeight, Color.White); int DistanceBetweenText = 16; int MenuOffset = (int)(DistanceBetweenText * 0.5); g.DrawString(fntFinlanderFont, "HP", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.Yellow); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(55, BottomPositionY - MenuOffset + 20 + DistanceBetweenText), ActiveUnit.HP, ActiveUnit.MaxHP); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.HP + "/" + ActiveUnit.MaxHP, new Vector2(222, BottomPositionY - MenuOffset + 6 + DistanceBetweenText), Color.White); g.DrawString(fntFinlanderFont, "EN", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.Yellow); DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(55, BottomPositionY - MenuOffset + 20 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), ActiveUnit.EN, ActiveUnit.MaxEN); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.EN + "/" + ActiveUnit.MaxEN, new Vector2(222, BottomPositionY - MenuOffset + 6 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, "Armor", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.Yellow); g.DrawString(fntFinlanderFont, ActiveUnit.Armor.ToString(), new Vector2(95, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.White); g.DrawString(fntFinlanderFont, "Mobility", new Vector2(15, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 4 + fntFinlanderFont.LineSpacing * 3), Color.Yellow); g.DrawString(fntFinlanderFont, ActiveUnit.Mobility.ToString(), new Vector2(115, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 4 + fntFinlanderFont.LineSpacing * 3), Color.White); g.DrawString(fntFinlanderFont, "MV", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.MaxMovement.ToString(), new Vector2(325, BottomPositionY - MenuOffset + 10 + DistanceBetweenText), Color.White); g.DrawString(fntFinlanderFont, "Size", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.Size, new Vector2(325, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 2 + fntFinlanderFont.LineSpacing), Color.White); g.DrawString(fntFinlanderFont, "Move Type", new Vector2(235, BottomPositionY - MenuOffset + 10 + DistanceBetweenText * 3 + fntFinlanderFont.LineSpacing * 2), Color.Yellow); int CurrentX = 235; if (ActiveUnit.ListTerrainChoices.Contains("Air")) { g.Draw(sprSky, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Land")) { g.Draw(sprLand, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Sea")) { g.Draw(sprSea, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } if (ActiveUnit.ListTerrainChoices.Contains("Space")) { g.Draw(sprSpace, new Vector2(CurrentX, 420), Color.White); CurrentX += 50; } int MiddleWidth = 100; int MiddlePosX = 5 + BottomWidth; int CurrentY = 306; DrawBox(g, new Vector2(MiddlePosX, BottomPositionY), MiddleWidth, BottomHeight, Color.White); g.Draw(sprSky, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); if (ActiveSquad.CurrentMovement == "Air") { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Air") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeAir, new Vector2(MiddlePosX + 34, CurrentY), Color.Green); } else { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Air") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeAir, new Vector2(MiddlePosX + 34, CurrentY), Color.White); } CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.Draw(sprLand, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); if (ActiveSquad.CurrentMovement == "Land") { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Land") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeLand, new Vector2(MiddlePosX + 34, CurrentY), Color.Green); } else { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Land") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeLand, new Vector2(MiddlePosX + 34, CurrentY), Color.White); } CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.Draw(sprSea, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); if (ActiveSquad.CurrentMovement == "Sea") { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Sea") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeSea, new Vector2(MiddlePosX + 34, CurrentY), Color.Green); } else { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Sea") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeSea, new Vector2(MiddlePosX + 34, CurrentY), Color.White); } CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.Draw(sprSpace, new Vector2(MiddlePosX + 10, CurrentY + 2), Color.White); if (ActiveSquad.CurrentMovement == "Space") { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Space") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeSpace, new Vector2(MiddlePosX + 34, CurrentY), Color.Green); } else { g.DrawString(fntFinlanderFont, ActiveUnit.TerrainLetterAttribute("Space") + " + " + ActiveUnit.Pilot.TerrainGrade.TerrainGradeSpace, new Vector2(MiddlePosX + 34, CurrentY), Color.White); } int RightWidth = (Constants.Width - 10) / 5; int RightPosY = 50; int RightPos = 509; int RightHeight = Constants.Height - RightPosY - 10; DrawBox(g, new Vector2(RightPos, RightPosY), RightWidth, RightHeight, Color.White); g.Draw(sprPixel, new Rectangle(RightPos + 20, RightPosY + 13, 84, 84), Color.Gray); g.Draw(sprPixel, new Rectangle(RightPos + 22, RightPosY + 15, 80, 80), Color.White); g.Draw(ActiveUnit.Pilot.sprPortrait, new Vector2(RightPos + 22, RightPosY + 15), Color.White); g.DrawStringMiddleAligned(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(RightPos + 62, RightPosY + 100), Color.White); CurrentY = 266; g.DrawString(fntFinlanderFont, "Lvl", new Vector2(525, CurrentY), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, CurrentY), Color.White); CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.DrawString(fntFinlanderFont, "Will", new Vector2(525, CurrentY), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotMorale.ToString(), new Vector2(620, CurrentY), Color.White); CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.DrawString(fntFinlanderFont, "SP", new Vector2(525, CurrentY), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotSP.ToString(), new Vector2(620, CurrentY), Color.White); CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.DrawString(fntFinlanderFont, "PP", new Vector2(525, CurrentY), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotPilotPoints.ToString(), new Vector2(620, CurrentY), Color.White); CurrentY += DistanceBetweenText + fntFinlanderFont.LineSpacing; g.DrawString(fntFinlanderFont, "Next", new Vector2(525, CurrentY), Color.Yellow); g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotNextEXP.ToString(), new Vector2(620, CurrentY), Color.White); }