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

◆ DrawPlayer_04_RabbitOrder()

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

Definition at line 118 of file PlayerDrawHeadLayers.cs.

119 {
120 int verticalFrames = 27;
121 Texture2D value = TextureAssets.ArmorHead[drawinfo.drawPlayer.head].Value;
122 Rectangle rectangle = value.Frame(1, verticalFrames, 0, drawinfo.drawPlayer.rabbitOrderFrame.DisplayFrame);
123 Vector2 origin = rectangle.Size() / 2f;
124 int usedGravDir = 1;
126 int hatStacks = GetHatStacks(ref drawinfo, 4955);
127 float num = (float)Math.PI / 60f;
128 float num2 = num * drawinfo.drawPlayer.position.X % ((float)Math.PI * 2f);
129 for (int num3 = hatStacks - 1; num3 >= 0; num3--)
130 {
131 float x = Vector2.UnitY.RotatedBy(num2 + num * (float)num3).X * ((float)num3 / 30f) * 2f - (float)(num3 * 2 * drawinfo.drawPlayer.direction);
132 QuickCDD(drawinfo.DrawData, drawinfo.cHead, value, vector + new Vector2(x, (float)(num3 * -14) * drawinfo.scale), rectangle, drawinfo.colorArmorHead, drawinfo.drawPlayer.headRotation, origin, drawinfo.scale, drawinfo.playerEffect, 0f);
133 }
134 if (!drawinfo.hideHair)
135 {
136 Rectangle hairFrame = drawinfo.HairFrame;
137 hairFrame.Y -= 336;
138 if (hairFrame.Y < 0)
139 {
140 hairFrame.Y = 0;
141 }
142 QuickCDD(drawinfo.DrawData, drawinfo.hairShaderPacked, TextureAssets.PlayerHair[drawinfo.drawPlayer.hair].Value, new Vector2(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.bodyFrameMemory.Width / 2) + (float)(drawinfo.drawPlayer.width / 2), drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.bodyFrameMemory.Height + 4f) + drawinfo.drawPlayer.headPosition + drawinfo.headVect + drawinfo.hairOffset, hairFrame, drawinfo.colorHair, drawinfo.drawPlayer.headRotation, drawinfo.headVect, drawinfo.scale, drawinfo.playerEffect, 0f);
143 }
144 }
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 >[] PlayerHair
static Asset< Texture2D >[] ArmorHead

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

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