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

◆ Draw()

void Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.Draw ( )
inline

Implements Terraria.GameContent.UI.ResourceSets.IPlayerResourcesDisplaySet.

Definition at line 84 of file HorizontalBarsPlayerResourcesDisplaySet.cs.

85 {
86 PrepareFields(Main.LocalPlayer);
87 SpriteBatch spriteBatch = Main.spriteBatch;
88 int num = 16;
89 int num2 = 18;
90 int num3 = Main.screenWidth - 300 - 22 + num;
91 if (_drawTextStyle == 2)
92 {
93 num2 += 2;
94 DrawLifeBarText(spriteBatch, new Vector2(num3, num2));
95 DrawManaText(spriteBatch);
96 }
97 else if (_drawTextStyle == 1)
98 {
99 num2 += 4;
100 DrawLifeBarText(spriteBatch, new Vector2(num3, num2));
101 }
102 Vector2 vector = new Vector2(num3, num2);
103 vector.X += (_maxSegmentCount - _hpSegmentsCount) * _panelMiddleHP.Width();
104 bool isHovered = false;
105 ResourceDrawSettings resourceDrawSettings = default(ResourceDrawSettings);
106 resourceDrawSettings.ElementCount = _hpSegmentsCount + 2;
107 resourceDrawSettings.ElementIndexOffset = 0;
108 resourceDrawSettings.TopLeftAnchor = vector;
109 resourceDrawSettings.GetTextureMethod = LifePanelDrawer;
110 resourceDrawSettings.OffsetPerDraw = Vector2.Zero;
111 resourceDrawSettings.OffsetPerDrawByTexturePercentile = Vector2.UnitX;
112 resourceDrawSettings.OffsetSpriteAnchor = Vector2.Zero;
113 resourceDrawSettings.OffsetSpriteAnchorByTexturePercentile = Vector2.Zero;
114 resourceDrawSettings.Draw(spriteBatch, ref isHovered);
115 resourceDrawSettings = default(ResourceDrawSettings);
116 resourceDrawSettings.ElementCount = _hpSegmentsCount;
117 resourceDrawSettings.ElementIndexOffset = 0;
118 resourceDrawSettings.TopLeftAnchor = vector + new Vector2(6f, 6f);
119 resourceDrawSettings.GetTextureMethod = LifeFillingDrawer;
120 resourceDrawSettings.OffsetPerDraw = new Vector2(_hpFill.Width(), 0f);
121 resourceDrawSettings.OffsetPerDrawByTexturePercentile = Vector2.Zero;
122 resourceDrawSettings.OffsetSpriteAnchor = Vector2.Zero;
123 resourceDrawSettings.OffsetSpriteAnchorByTexturePercentile = Vector2.Zero;
124 resourceDrawSettings.Draw(spriteBatch, ref isHovered);
125 _hpHovered = isHovered;
126 isHovered = false;
127 Vector2 vector2 = new Vector2(num3 - 10, num2 + 24);
128 vector2.X += (_maxSegmentCount - _mpSegmentsCount) * _panelMiddleMP.Width();
129 resourceDrawSettings = default(ResourceDrawSettings);
130 resourceDrawSettings.ElementCount = _mpSegmentsCount + 2;
131 resourceDrawSettings.ElementIndexOffset = 0;
132 resourceDrawSettings.TopLeftAnchor = vector2;
133 resourceDrawSettings.GetTextureMethod = ManaPanelDrawer;
134 resourceDrawSettings.OffsetPerDraw = Vector2.Zero;
135 resourceDrawSettings.OffsetPerDrawByTexturePercentile = Vector2.UnitX;
136 resourceDrawSettings.OffsetSpriteAnchor = Vector2.Zero;
137 resourceDrawSettings.OffsetSpriteAnchorByTexturePercentile = Vector2.Zero;
138 resourceDrawSettings.Draw(spriteBatch, ref isHovered);
139 resourceDrawSettings = default(ResourceDrawSettings);
140 resourceDrawSettings.ElementCount = _mpSegmentsCount;
141 resourceDrawSettings.ElementIndexOffset = 0;
142 resourceDrawSettings.TopLeftAnchor = vector2 + new Vector2(6f, 6f);
143 resourceDrawSettings.GetTextureMethod = ManaFillingDrawer;
144 resourceDrawSettings.OffsetPerDraw = new Vector2(_mpFill.Width(), 0f);
145 resourceDrawSettings.OffsetPerDrawByTexturePercentile = Vector2.Zero;
146 resourceDrawSettings.OffsetSpriteAnchor = Vector2.Zero;
147 resourceDrawSettings.OffsetSpriteAnchorByTexturePercentile = Vector2.Zero;
148 resourceDrawSettings.Draw(spriteBatch, ref isHovered);
149 _mpHovered = isHovered;
150 }
void ManaFillingDrawer(int elementIndex, int firstElementIndex, int lastElementIndex, out Asset< Texture2D > sprite, out Vector2 offset, out float drawScale, out Rectangle? sourceRect)
void LifePanelDrawer(int elementIndex, int firstElementIndex, int lastElementIndex, out Asset< Texture2D > sprite, out Vector2 offset, out float drawScale, out Rectangle? sourceRect)
void ManaPanelDrawer(int elementIndex, int firstElementIndex, int lastElementIndex, out Asset< Texture2D > sprite, out Vector2 offset, out float drawScale, out Rectangle? sourceRect)
void LifeFillingDrawer(int elementIndex, int firstElementIndex, int lastElementIndex, out Asset< Texture2D > sprite, out Vector2 offset, out float drawScale, out Rectangle? sourceRect)

References Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._drawTextStyle, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._hpFill, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._hpHovered, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._hpSegmentsCount, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._maxSegmentCount, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._mpFill, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._mpHovered, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._mpSegmentsCount, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._panelMiddleHP, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet._panelMiddleMP, Terraria.GameContent.UI.ResourceSets.ResourceDrawSettings.Draw(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.DrawLifeBarText(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.DrawManaText(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.LifeFillingDrawer(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.LifePanelDrawer(), Terraria.Main.LocalPlayer, Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.ManaFillingDrawer(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.ManaPanelDrawer(), Terraria.GameContent.UI.ResourceSets.HorizontalBarsPlayerResourcesDisplaySet.PrepareFields(), Terraria.Main.spriteBatch, Microsoft.Xna.Framework.Vector2.UnitX, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Vector2.Zero.