public override void Draw(GameTime gameTime) { string str; string str1; if (this.pgs == null) { return; } if (this.pgs.TroopsHere.Count == 0 && this.pgs.building == null) { return; } MathHelper.SmoothStep(0f, 1f, base.TransitionPosition); Primitives2D.FillRectangle(this.ScreenManager.SpriteBatch, this.sel.Menu, Color.Black); float x = (float)Mouse.GetState().X; MouseState state = Mouse.GetState(); Vector2 MousePos = new Vector2(x, (float)state.Y); Header slant = new Header(new Rectangle(this.sel.Menu.X, this.sel.Menu.Y, this.sel.Menu.Width, 41), (this.pgs.TroopsHere.Count > 0 ? this.pgs.TroopsHere[0].Name : Localizer.Token(this.pgs.building.NameTranslationIndex))); Body body = new Body(new Rectangle(slant.leftRect.X, this.sel.Menu.Y + 44, this.sel.Menu.Width, this.sel.Menu.Height - 44)); slant.Draw(this.ScreenManager); body.Draw(this.ScreenManager); this.ScreenManager.SpriteBatch.Draw(ResourceManager.TextureDict["UI/icon_shield"], this.DefenseRect, Color.White); this.ScreenManager.SpriteBatch.Draw(ResourceManager.TextureDict["Ground_UI/Ground_Attack"], this.SoftAttackRect, Color.White); this.ScreenManager.SpriteBatch.Draw(ResourceManager.TextureDict["Ground_UI/attack_hard"], this.HardAttackRect, Color.White); bool Troop = false; if (this.pgs.TroopsHere.Count > 0) { Troop = true; } Vector2 defPos = new Vector2((float)(this.DefenseRect.X + this.DefenseRect.Width + 2), (float)(this.DefenseRect.Y + 11 - Fonts.Arial12Bold.LineSpacing / 2)); this.ScreenManager.SpriteBatch.DrawString(Fonts.Arial12Bold, (Troop ? this.pgs.TroopsHere[0].Strength.ToString(this.fmt) : this.pgs.building.Strength.ToString()), defPos, Color.White); defPos = new Vector2((float)(this.DefenseRect.X + this.DefenseRect.Width + 2), (float)(this.SoftAttackRect.Y + 8 - Fonts.Arial12Bold.LineSpacing / 2)); SpriteBatch spriteBatch = this.ScreenManager.SpriteBatch; SpriteFont arial12Bold = Fonts.Arial12Bold; if (Troop) { int softAttack = this.pgs.TroopsHere[0].GetSoftAttack(); str = softAttack.ToString(this.fmt); } else { str = this.pgs.building.SoftAttack.ToString(); } spriteBatch.DrawString(arial12Bold, str, defPos, Color.White); defPos = new Vector2((float)(this.DefenseRect.X + this.DefenseRect.Width + 2), (float)(this.HardAttackRect.Y + 8 - Fonts.Arial12Bold.LineSpacing / 2)); SpriteBatch spriteBatch1 = this.ScreenManager.SpriteBatch; SpriteFont spriteFont = Fonts.Arial12Bold; if (Troop) { int hardAttack = this.pgs.TroopsHere[0].GetHardAttack(); str1 = hardAttack.ToString(this.fmt); } else { str1 = this.pgs.building.HardAttack.ToString(); } spriteBatch1.DrawString(spriteFont, str1, defPos, Color.White); if (!Troop) { this.ItemDisplayRect = new Rectangle(this.LeftRect.X + 85 + 16, this.LeftRect.Y + 5 + 16, 64, 64); this.ScreenManager.SpriteBatch.Draw(ResourceManager.TextureDict[string.Concat("Buildings/icon_", this.pgs.building.Icon, "_64x64")], this.ItemDisplayRect, Color.White); } else { this.ItemDisplayRect = new Rectangle(this.LeftRect.X + 85 + 16, this.LeftRect.Y + 5 + 16, 64, 64); this.pgs.TroopsHere[0].Draw(this.ScreenManager.SpriteBatch, this.ItemDisplayRect); if (this.pgs.TroopsHere[0].GetOwner() != EmpireManager.GetEmpireByName(this.screen.PlayerLoyalty)) { this.LaunchTroop = null; } else { this.LaunchTroop = new DanButton(new Vector2((float)(slant.leftRect.X + 5), (float)(this.ElementRect.Y + this.ElementRect.Height + 15)), string.Concat(Localizer.Token(1435), (this.pgs.TroopsHere[0].AvailableMoveActions >= 1 ? "" : string.Concat(" (", this.pgs.TroopsHere[0].MoveTimer.ToString("0"), ")")))); this.LaunchTroop.DrawBlue(this.ScreenManager); } if (this.pgs.TroopsHere[0].Level > 0) { for (int i = 0; i < this.pgs.TroopsHere[0].Level; i++) { Rectangle star = new Rectangle(this.LeftRect.X + this.LeftRect.Width - 20 - 12 * i, this.LeftRect.Y + 12, 12, 11); if (HelperFunctions.CheckIntersection(star, MousePos)) { ToolTip.CreateTooltip(127, this.ScreenManager); } this.ScreenManager.SpriteBatch.Draw(ResourceManager.TextureDict["UI/icon_star"], star, Color.White); } } } Vector2 drawCurs = new Vector2((float)this.DefenseRect.X, (float)this.HardAttackRect.Y); for (int i = this.DescriptionSL.indexAtTop; i < this.DescriptionSL.Entries.Count && i < this.DescriptionSL.indexAtTop + this.DescriptionSL.entriesToDisplay; i++) { ScrollList.Entry e = this.DescriptionSL.Entries[i]; drawCurs.Y = (float)e.clickRect.Y; string t1 = e.item as string; this.ScreenManager.SpriteBatch.DrawString(Fonts.Arial12, t1, drawCurs, Color.White); } this.DescriptionSL.Draw(this.ScreenManager.SpriteBatch); }
public override void Draw(GameTime gameTime) { MathHelper.SmoothStep(0f, 1f, base.TransitionPosition); Primitives2D.FillRectangle(this.ScreenManager.SpriteBatch, this.sel.Menu, Color.Black); float x = (float)Mouse.GetState().X; MouseState state = Mouse.GetState(); Vector2 vector2 = new Vector2(x, (float)state.Y); Header slant = new Header(new Rectangle(this.sel.Menu.X, this.sel.Menu.Y, this.sel.Menu.Width, 41), "Orbital Assets"); Body body = new Body(new Rectangle(slant.leftRect.X, this.sel.Menu.Y + 44, this.sel.Menu.Width, this.sel.Menu.Height - 44)); slant.Draw(this.ScreenManager); body.Draw(this.ScreenManager); this.BombardButton.DrawBlue(this.ScreenManager); this.LandTroops.DrawBlue(this.ScreenManager); }