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

◆ DrawPlayer_17_TorsoComposite()

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

Definition at line 1643 of file PlayerDrawLayers.cs.

1644 {
1645 Vector2 vector = 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);
1646 Vector2 vector2 = Main.OffsetsPlayerHeadgear[drawinfo.drawPlayer.bodyFrame.Y / drawinfo.drawPlayer.bodyFrame.Height];
1647 vector2.Y -= 2f;
1648 vector += vector2 * -drawinfo.playerEffect.HasFlag(SpriteEffects.FlipVertically).ToDirectionInt();
1649 float bodyRotation = drawinfo.drawPlayer.bodyRotation;
1651 Vector2 bodyVect = drawinfo.bodyVect;
1654 bodyVect += compositeOffset_BackArm;
1655 if (drawinfo.drawPlayer.body > 0 && drawinfo.drawPlayer.body < ArmorIDs.Body.Count)
1656 {
1657 if (!drawinfo.drawPlayer.invis || IsArmorDrawnWhenInvisible(drawinfo.drawPlayer.body))
1658 {
1659 Texture2D value = TextureAssets.ArmorBodyComposite[drawinfo.drawPlayer.body].Value;
1660 DrawCompositeArmorPiece(ref drawinfo, CompositePlayerDrawContext.Torso, new DrawData(value, vector, drawinfo.compTorsoFrame, drawinfo.colorArmorBody, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect)
1661 {
1662 shader = drawinfo.cBody
1663 });
1664 }
1665 }
1666 else if (!drawinfo.drawPlayer.invis)
1667 {
1668 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 4].Value, vector, drawinfo.compBackShoulderFrame, drawinfo.colorUnderShirt, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect));
1669 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 6].Value, vector, drawinfo.compBackShoulderFrame, drawinfo.colorShirt, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect));
1670 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 4].Value, vector, drawinfo.compTorsoFrame, drawinfo.colorUnderShirt, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect));
1671 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 6].Value, vector, drawinfo.compTorsoFrame, drawinfo.colorShirt, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect));
1672 }
1673 if (drawinfo.drawFloatingTube)
1674 {
1675 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Extra[105].Value, vector, new Rectangle(0, 56, 40, 56), drawinfo.floatingTubeColor, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect)
1676 {
1677 shader = drawinfo.cFloatingTube
1678 });
1679 }
1680 }
void Add(TKey key, TValue value)
static void DrawCompositeArmorPiece(ref PlayerDrawSet drawinfo, CompositePlayerDrawContext context, DrawData data)
static Vector2 GetCompositeOffset_BackArm(ref PlayerDrawSet drawinfo)
static bool IsArmorDrawnWhenInvisible(int torsoID)
static Asset< Texture2D >[] ArmorBodyComposite
static Asset< Texture2D >[] Extra
static Asset< Texture2D >[,] Players
static readonly int Count
Definition ArmorIDs.cs:1032

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Terraria.GameContent.TextureAssets.ArmorBodyComposite, Terraria.ID.ArmorIDs.Body.Count, Terraria.DataStructures.PlayerDrawLayers.DrawCompositeArmorPiece(), Terraria.GameContent.TextureAssets.Extra, Terraria.DataStructures.PlayerDrawLayers.GetCompositeOffset_BackArm(), Terraria.DataStructures.PlayerDrawLayers.IsArmorDrawnWhenInvisible(), Terraria.Main.OffsetsPlayerHeadgear, Terraria.GameContent.TextureAssets.Players, Terraria.Main.screenPosition, System.value, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_17_Torso().