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

◆ DrawPlayer_32_FrontAcc_FrontPart()

static void Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_32_FrontAcc_FrontPart ( ref PlayerDrawSet drawinfo)
inlinestatic

Definition at line 3112 of file PlayerDrawLayers.cs.

3113 {
3114 if (drawinfo.drawPlayer.front <= 0 || drawinfo.drawPlayer.front >= ArmorIDs.Front.Count)
3115 {
3116 return;
3117 }
3118 Rectangle bodyFrame = drawinfo.drawPlayer.bodyFrame;
3119 int num = bodyFrame.Width / 2;
3120 bodyFrame.Width -= num;
3121 Vector2 bodyVect = drawinfo.bodyVect;
3122 if (drawinfo.playerEffect.HasFlag(SpriteEffects.FlipHorizontally))
3123 {
3124 bodyVect.X -= num;
3125 }
3126 Vector2 vector = Vector2.Zero + new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2);
3127 DrawData item = new DrawData(TextureAssets.AccFront[drawinfo.drawPlayer.front].Value, vector, bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, bodyVect, 1f, drawinfo.playerEffect);
3128 item.shader = drawinfo.cFront;
3129 drawinfo.DrawDataCache.Add(item);
3130 if (drawinfo.drawPlayer.front == 12)
3131 {
3132 Rectangle rectangle = bodyFrame;
3134 value.Width = 2;
3135 int num2 = 0;
3136 int num3 = rectangle.Width / 2;
3137 int num4 = 2;
3138 if (drawinfo.playerEffect.HasFlag(SpriteEffects.FlipHorizontally))
3139 {
3140 num2 = rectangle.Width - 2;
3141 num4 = -2;
3142 }
3143 for (int i = 0; i < num3; i++)
3144 {
3145 value.X = rectangle.X + 2 * i;
3146 Color immuneAlpha = drawinfo.drawPlayer.GetImmuneAlpha(LiquidRenderer.GetShimmerGlitterColor(top: true, (float)i / 16f, 0f), drawinfo.shadow);
3147 immuneAlpha *= (float)(int)drawinfo.colorArmorBody.A / 255f;
3148 item = new DrawData(TextureAssets.GlowMask[331].Value, vector + new Vector2(num2 + i * num4, 0f), value, immuneAlpha, drawinfo.drawPlayer.bodyRotation, bodyVect, 1f, drawinfo.playerEffect);
3149 item.shader = drawinfo.cFront;
3150 drawinfo.DrawDataCache.Add(item);
3151 }
3152 }
3153 }
void Add(TKey key, TValue value)
static Color GetShimmerGlitterColor(bool top, float worldPositionX, float worldPositionY)
static Asset< Texture2D >[] GlowMask
static Asset< Texture2D >[] AccFront
static readonly int Count
Definition ArmorIDs.cs:1704

References Terraria.GameContent.TextureAssets.AccFront, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Terraria.ID.ArmorIDs.Front.Count, Terraria.GameContent.Liquid.LiquidRenderer.GetShimmerGlitterColor(), Terraria.GameContent.TextureAssets.GlowMask, System.item, Terraria.Main.screenPosition, System.value, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Graphics.Renderers.LegacyPlayerRenderer.DrawPlayer_UseNormalLayers().