Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DrawFancyBar() [1/2]

static void Terraria.GameContent.UI.BigProgressBar.BigProgressBarHelper.DrawFancyBar ( SpriteBatch spriteBatch,
float lifeAmount,
float lifeMax,
Texture2D barIconTexture,
Rectangle barIconFrame )
inlinestatic

Definition at line 26 of file BigProgressBarHelper.cs.

27 {
28 Texture2D value = Main.Assets.Request<Texture2D>("Images/UI/UI_BossBar", (AssetRequestMode)1).Value;
29 Point p = new Point(456, 22);
30 Point p2 = new Point(32, 24);
31 int verticalFrames = 6;
32 Rectangle value2 = value.Frame(1, verticalFrames, 0, 3);
33 Color color = Color.White * 0.2f;
34 float num = lifeAmount / lifeMax;
35 int num2 = (int)((float)p.X * num);
36 num2 -= num2 % 2;
37 Rectangle value3 = value.Frame(1, verticalFrames, 0, 2);
38 value3.X += p2.X;
39 value3.Y += p2.Y;
40 value3.Width = 2;
41 value3.Height = p.Y;
42 Rectangle value4 = value.Frame(1, verticalFrames, 0, 1);
43 value4.X += p2.X;
44 value4.Y += p2.Y;
45 value4.Width = 2;
46 value4.Height = p.Y;
47 Rectangle rectangle = Utils.CenteredRectangle(Main.ScreenSize.ToVector2() * new Vector2(0.5f, 1f) + new Vector2(0f, -50f), p.ToVector2());
48 Vector2 vector = rectangle.TopLeft() - p2.ToVector2();
49 spriteBatch.Draw(value, vector, value2, color, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
50 spriteBatch.Draw(value, rectangle.TopLeft(), value3, Color.White, 0f, Vector2.Zero, new Vector2(num2 / value3.Width, 1f), SpriteEffects.None, 0f);
51 spriteBatch.Draw(value, rectangle.TopLeft() + new Vector2(num2 - 2, 0f), value4, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
52 Rectangle value5 = value.Frame(1, verticalFrames);
53 spriteBatch.Draw(value, vector, value5, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
54 Vector2 vector2 = new Vector2(4f, 20f) + new Vector2(26f, 28f) / 2f;
55 spriteBatch.Draw(barIconTexture, vector + vector2, barIconFrame, Color.White, 0f, barIconFrame.Size() / 2f, 1f, SpriteEffects.None, 0f);
56 if (BigProgressBarSystem.ShowText)
57 {
58 DrawHealthText(spriteBatch, rectangle, lifeAmount, lifeMax);
59 }
60 }
void Draw(Texture2D texture, Vector2 position, Color color)
static void DrawHealthText(SpriteBatch spriteBatch, Rectangle area, float current, float max)

References Terraria.Main.Assets, Terraria.Utils.CenteredRectangle(), Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw(), Terraria.GameContent.UI.BigProgressBar.BigProgressBarHelper.DrawHealthText(), Microsoft.Xna.Framework.Graphics.Point, Terraria.Main.ScreenSize, Terraria.GameContent.UI.BigProgressBar.BigProgressBarSystem.ShowText, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Color.White, Microsoft.Xna.Framework.Rectangle.Width, Microsoft.Xna.Framework.Point.X, Microsoft.Xna.Framework.Point.Y, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.GameContent.UI.BigProgressBar.BrainOfCthuluBigProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.CommonBossBigProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.DeerclopsBigProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.EaterOfWorldsProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.GolemHeadProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.LunarPillarBigProgessBar.Draw(), Terraria.GameContent.UI.BigProgressBar.MartianSaucerBigProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.MoonLordProgressBar.Draw(), Terraria.GameContent.UI.BigProgressBar.PirateShipBigProgressBar.Draw(), and Terraria.GameContent.UI.BigProgressBar.TwinsBigProgressBar.Draw().