public static void DrawPlayer_04_RabbitOrder(ref PlayerDrawHeadSet drawinfo) { int verticalFrames = 27; Texture2D texture2D = TextureAssets.ArmorHead[drawinfo.drawPlayer.head].get_Value(); Rectangle r = texture2D.Frame(1, verticalFrames, 0, drawinfo.drawPlayer.rabbitOrderFrame.DisplayFrame, 0, 0); Vector2 origin = r.Size() / 2f; int usedGravDir = 1; Vector2 hatDrawPosition = PlayerDrawHeadLayers.DrawPlayer_04_GetHatDrawPosition(ref drawinfo, new Vector2(1f, -26f), usedGravDir); int hatStacks = PlayerDrawHeadLayers.DrawPlayer_04_GetHatStacks(ref drawinfo, 4955); float num1 = (float)Math.PI / 60f; float num2 = (float)((double)num1 * (double)drawinfo.drawPlayer.position.X % 6.28318548202515); for (int index = hatStacks - 1; index >= 0; --index) { float x = (float)((double)Vector2.UnitY.RotatedBy((double)num2 + (double)num1 * (double)index, new Vector2()).X *((double)index / 30.0) * 2.0) - (float)(index * 2 * drawinfo.drawPlayer.direction); PlayerDrawHeadLayers.QuickCDD(drawinfo.DrawData, drawinfo.cHead, texture2D, hatDrawPosition + new Vector2(x, (float)(index * -14) * drawinfo.scale), new Rectangle?(r), drawinfo.colorArmorHead, drawinfo.drawPlayer.headRotation, origin, drawinfo.scale, drawinfo.playerEffect, 0.0f); } if (drawinfo.drawPlayer.invis || drawinfo.hideHair) { return; } Rectangle hairFrame = drawinfo.HairFrame; hairFrame.Y -= 336; if (hairFrame.Y < 0) { hairFrame.Y = 0; } PlayerDrawHeadLayers.QuickCDD(drawinfo.DrawData, drawinfo.hairShaderPacked, TextureAssets.PlayerHair[drawinfo.drawPlayer.hair].get_Value(), new Vector2(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.bodyFrameMemory.Width / 2) + (float)(drawinfo.drawPlayer.width / 2), (float)((double)drawinfo.Position.Y - (double)Main.screenPosition.Y + (double)drawinfo.drawPlayer.height - (double)drawinfo.bodyFrameMemory.Height + 4.0)) + drawinfo.drawPlayer.headPosition + drawinfo.headVect, new Rectangle?(hairFrame), drawinfo.colorHair, drawinfo.drawPlayer.headRotation, drawinfo.headVect, drawinfo.scale, drawinfo.playerEffect, 0.0f); }
public static void DrawPlayer_04_BadgersHat(ref PlayerDrawHeadSet drawinfo) { int verticalFrames = 6; Texture2D texture2D = TextureAssets.ArmorHead[drawinfo.drawPlayer.head].get_Value(); Rectangle r = texture2D.Frame(1, verticalFrames, 0, drawinfo.drawPlayer.rabbitOrderFrame.DisplayFrame, 0, 0); Vector2 origin = r.Size() / 2f; int usedGravDir = 1; Vector2 hatDrawPosition = PlayerDrawHeadLayers.DrawPlayer_04_GetHatDrawPosition(ref drawinfo, new Vector2(0.0f, -9f), usedGravDir); int hatStacks = PlayerDrawHeadLayers.DrawPlayer_04_GetHatStacks(ref drawinfo, 5004); float num1 = (float)Math.PI / 60f; float num2 = (float)((double)num1 * (double)drawinfo.drawPlayer.position.X % 6.28318548202515); int num3 = hatStacks * 4 + 2; int num4 = 0; bool flag = ((double)Main.GlobalTimeWrappedHourly + 180.0) % 3600.0 < 60.0; for (int index = num3 - 1; index >= 0; --index) { int num5 = 0; if (index == num3 - 1) { r.Y = 0; num5 = 2; } else { r.Y = index != 0 ? r.Height * (num4++ % 4 + 1) : r.Height * 5; } if (!(r.Y == r.Height * 3 & flag)) { float x = (float)((double)Vector2.UnitY.RotatedBy((double)num2 + (double)num1 * (double)index, new Vector2()).X *((double)index / 10.0) * 4.0 - (double)index * 0.100000001490116 * (double)drawinfo.drawPlayer.direction); PlayerDrawHeadLayers.QuickCDD(drawinfo.DrawData, drawinfo.cHead, texture2D, hatDrawPosition + new Vector2(x, (float)((index * -4 + num5) * usedGravDir)) * drawinfo.scale, new Rectangle?(r), drawinfo.colorArmorHead, drawinfo.drawPlayer.headRotation, origin, drawinfo.scale, drawinfo.playerEffect, 0.0f); } } }