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

◆ DrawPlayer_32_FrontAcc_BackPart()

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

Definition at line 3155 of file PlayerDrawLayers.cs.

3156 {
3157 if (drawinfo.drawPlayer.front <= 0 || drawinfo.drawPlayer.front >= ArmorIDs.Front.Count)
3158 {
3159 return;
3160 }
3161 Rectangle bodyFrame = drawinfo.drawPlayer.bodyFrame;
3162 int num = bodyFrame.Width / 2;
3163 bodyFrame.Width -= num;
3164 bodyFrame.X += num;
3165 Vector2 bodyVect = drawinfo.bodyVect;
3166 if (!drawinfo.playerEffect.HasFlag(SpriteEffects.FlipHorizontally))
3167 {
3168 bodyVect.X -= num;
3169 }
3170 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);
3171 DrawData item = new DrawData(TextureAssets.AccFront[drawinfo.drawPlayer.front].Value, vector, bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, bodyVect, 1f, drawinfo.playerEffect);
3172 item.shader = drawinfo.cFront;
3173 drawinfo.DrawDataCache.Add(item);
3174 if (drawinfo.drawPlayer.front == 12)
3175 {
3176 Rectangle rectangle = bodyFrame;
3178 value.Width = 2;
3179 int num2 = 0;
3180 int num3 = rectangle.Width / 2;
3181 int num4 = 2;
3182 if (drawinfo.playerEffect.HasFlag(SpriteEffects.FlipHorizontally))
3183 {
3184 num2 = rectangle.Width - 2;
3185 num4 = -2;
3186 }
3187 for (int i = 0; i < num3; i++)
3188 {
3189 value.X = rectangle.X + 2 * i;
3190 Color immuneAlpha = drawinfo.drawPlayer.GetImmuneAlpha(LiquidRenderer.GetShimmerGlitterColor(top: true, (float)i / 16f, 0f), drawinfo.shadow);
3191 immuneAlpha *= (float)(int)drawinfo.colorArmorBody.A / 255f;
3192 item = new DrawData(TextureAssets.GlowMask[331].Value, vector + new Vector2(num2 + i * num4, 0f), value, immuneAlpha, drawinfo.drawPlayer.bodyRotation, bodyVect, 1f, drawinfo.playerEffect);
3193 item.shader = drawinfo.cFront;
3194 drawinfo.DrawDataCache.Add(item);
3195 }
3196 }
3197 }
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().