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

◆ DrawPlayer_04_BadgersHat()

static void Terraria.DataStructures.PlayerDrawHeadLayers.DrawPlayer_04_BadgersHat ( ref PlayerDrawHeadSet drawinfo)
inlinestatic

Definition at line 146 of file PlayerDrawHeadLayers.cs.

147 {
148 int verticalFrames = 6;
149 Texture2D value = TextureAssets.ArmorHead[drawinfo.drawPlayer.head].Value;
150 Rectangle rectangle = value.Frame(1, verticalFrames, 0, drawinfo.drawPlayer.rabbitOrderFrame.DisplayFrame);
151 Vector2 origin = rectangle.Size() / 2f;
152 int num = 1;
154 int hatStacks = GetHatStacks(ref drawinfo, 5004);
155 float num2 = (float)Math.PI / 60f;
156 float num3 = num2 * drawinfo.drawPlayer.position.X % ((float)Math.PI * 2f);
157 int num4 = hatStacks * 4 + 2;
158 int num5 = 0;
159 bool flag = (Main.GlobalTimeWrappedHourly + 180f) % 600f < 60f;
160 for (int num6 = num4 - 1; num6 >= 0; num6--)
161 {
162 int num7 = 0;
163 if (num6 == num4 - 1)
164 {
165 rectangle.Y = 0;
166 num7 = 2;
167 }
168 else if (num6 == 0)
169 {
170 rectangle.Y = rectangle.Height * 5;
171 }
172 else
173 {
174 rectangle.Y = rectangle.Height * (num5++ % 4 + 1);
175 }
176 if (!(rectangle.Y == rectangle.Height * 3 && flag))
177 {
178 float x = Vector2.UnitY.RotatedBy(num3 + num2 * (float)num6).X * ((float)num6 / 10f) * 4f - (float)num6 * 0.1f * (float)drawinfo.drawPlayer.direction;
179 QuickCDD(drawinfo.DrawData, drawinfo.cHead, value, vector + new Vector2(x, (num6 * -4 + num7) * num) * drawinfo.scale, rectangle, drawinfo.colorArmorHead, drawinfo.drawPlayer.headRotation, origin, drawinfo.scale, drawinfo.playerEffect, 0f);
180 }
181 }
182 }
const double PI
Definition Math.cs:16
static int GetHatStacks(ref PlayerDrawHeadSet drawinfo, int itemId)
static void QuickCDD(List< DrawData > drawData, Texture2D texture, Vector2 position, Rectangle? sourceRectangle, Color color, float rotation, Vector2 origin, float scale, SpriteEffects effects, float layerDepth)
static Vector2 DrawPlayer_04_GetHatDrawPosition(ref PlayerDrawHeadSet drawinfo, Vector2 hatOffset, int usedGravDir)
static Asset< Texture2D >[] ArmorHead

References Terraria.GameContent.TextureAssets.ArmorHead, Terraria.DataStructures.PlayerDrawHeadLayers.DrawPlayer_04_GetHatDrawPosition(), Terraria.DataStructures.PlayerDrawHeadLayers.GetHatStacks(), System.Math.PI, Terraria.DataStructures.PlayerDrawHeadLayers.QuickCDD(), Microsoft.Xna.Framework.Vector2.UnitY, System.value, Microsoft.Xna.Framework.Graphics.Vector2, and System.X.

Referenced by Terraria.DataStructures.PlayerDrawHeadLayers.DrawPlayer_06_NormalHats().