Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                }
            }
        }