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

◆ DrawPlayer_10_BackAcc()

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

Definition at line 511 of file PlayerDrawLayers.cs.

512 {
513 if (drawinfo.drawPlayer.back <= 0 || drawinfo.drawPlayer.back >= ArmorIDs.Back.Count)
514 {
515 return;
516 }
517 if (drawinfo.drawPlayer.front >= 1 && drawinfo.drawPlayer.front <= 4)
518 {
519 int num = drawinfo.drawPlayer.bodyFrame.Y / 56;
520 if (num < 1 || num > 5)
521 {
522 drawinfo.armorAdjust = 10;
523 }
524 else
525 {
526 if (drawinfo.drawPlayer.front == 1)
527 {
528 drawinfo.armorAdjust = 0;
529 }
530 if (drawinfo.drawPlayer.front == 2)
531 {
532 drawinfo.armorAdjust = 8;
533 }
534 if (drawinfo.drawPlayer.front == 3)
535 {
536 drawinfo.armorAdjust = 0;
537 }
538 if (drawinfo.drawPlayer.front == 4)
539 {
540 drawinfo.armorAdjust = 8;
541 }
542 }
543 }
545 Vector2 vector = new Vector2(0f, 8f);
546 Vector2 vec = zero + drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + new Vector2(0f, -4f) + vector;
547 vec = vec.Floor();
548 DrawData item = new DrawData(TextureAssets.AccBack[drawinfo.drawPlayer.back].Value, vec, drawinfo.drawPlayer.bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
549 item.shader = drawinfo.cBack;
550 drawinfo.DrawDataCache.Add(item);
551 if (drawinfo.drawPlayer.back == 36)
552 {
553 Rectangle bodyFrame = drawinfo.drawPlayer.bodyFrame;
554 Rectangle value = bodyFrame;
555 value.Width = 2;
556 int num2 = 0;
557 int num3 = bodyFrame.Width / 2;
558 int num4 = 2;
559 if (drawinfo.playerEffect.HasFlag(SpriteEffects.FlipHorizontally))
560 {
561 num2 = bodyFrame.Width - 2;
562 num4 = -2;
563 }
564 for (int i = 0; i < num3; i++)
565 {
566 value.X = bodyFrame.X + 2 * i;
567 Color immuneAlpha = drawinfo.drawPlayer.GetImmuneAlpha(LiquidRenderer.GetShimmerGlitterColor(top: true, (float)i / 16f, 0f), drawinfo.shadow);
568 immuneAlpha *= (float)(int)drawinfo.colorArmorBody.A / 255f;
569 item = new DrawData(TextureAssets.GlowMask[332].Value, vec + new Vector2(num2 + i * num4, 0f), value, immuneAlpha, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
570 item.shader = drawinfo.cBack;
571 drawinfo.DrawDataCache.Add(item);
572 }
573 }
574 }
void Add(TKey key, TValue value)
static Color GetShimmerGlitterColor(bool top, float worldPositionX, float worldPositionY)
static Asset< Texture2D >[] GlowMask
static Asset< Texture2D >[] AccBack
static readonly int Count
Definition ArmorIDs.cs:1668

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

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