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

◆ DrawPlayer_12_SkinComposite_BackArmShirt()

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

Definition at line 1115 of file PlayerDrawLayers.cs.

1116 {
1117 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);
1118 Vector2 vector2 = Main.OffsetsPlayerHeadgear[drawinfo.drawPlayer.bodyFrame.Y / drawinfo.drawPlayer.bodyFrame.Height];
1119 vector2.Y -= 2f;
1120 vector += vector2 * -drawinfo.playerEffect.HasFlag(SpriteEffects.FlipVertically).ToDirectionInt();
1121 vector.Y += drawinfo.torsoOffset;
1122 float bodyRotation = drawinfo.drawPlayer.bodyRotation;
1124 Vector2 position = vector;
1125 Vector2 bodyVect = drawinfo.bodyVect;
1128 position += drawinfo.backShoulderOffset;
1129 bodyVect += compositeOffset_BackArm;
1130 float rotation = bodyRotation + drawinfo.compositeBackArmRotation;
1131 bool flag = !drawinfo.drawPlayer.invis;
1132 bool flag2 = !drawinfo.drawPlayer.invis;
1133 bool flag3 = drawinfo.drawPlayer.body > 0 && drawinfo.drawPlayer.body < ArmorIDs.Body.Count;
1134 bool flag4 = !drawinfo.hidesTopSkin;
1135 bool flag5 = false;
1136 if (flag3)
1137 {
1138 flag &= drawinfo.missingHand;
1139 if (flag2 && drawinfo.missingArm)
1140 {
1141 if (flag4)
1142 {
1143 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 7].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorBodySkin, rotation, bodyVect, 1f, drawinfo.playerEffect)
1144 {
1145 shader = drawinfo.skinDyePacked
1146 });
1147 }
1148 if (!flag5 && flag4)
1149 {
1150 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 5].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorBodySkin, rotation, bodyVect, 1f, drawinfo.playerEffect)
1151 {
1152 shader = drawinfo.skinDyePacked
1153 });
1154 flag5 = true;
1155 }
1156 flag2 = false;
1157 }
1158 if (!drawinfo.drawPlayer.invis || IsArmorDrawnWhenInvisible(drawinfo.drawPlayer.body))
1159 {
1160 Texture2D value = TextureAssets.ArmorBodyComposite[drawinfo.drawPlayer.body].Value;
1161 if (!drawinfo.hideCompositeShoulders)
1162 {
1163 DrawCompositeArmorPiece(ref drawinfo, CompositePlayerDrawContext.BackShoulder, new DrawData(value, position, drawinfo.compBackShoulderFrame, drawinfo.colorArmorBody, bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect)
1164 {
1165 shader = drawinfo.cBody
1166 });
1167 }
1169 DrawCompositeArmorPiece(ref drawinfo, CompositePlayerDrawContext.BackArm, new DrawData(value, vector3, drawinfo.compBackArmFrame, drawinfo.colorArmorBody, rotation, bodyVect, 1f, drawinfo.playerEffect)
1170 {
1171 shader = drawinfo.cBody
1172 });
1173 }
1174 }
1175 if (flag)
1176 {
1177 if (flag4)
1178 {
1179 if (flag2)
1180 {
1181 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 7].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorBodySkin, rotation, bodyVect, 1f, drawinfo.playerEffect)
1182 {
1183 shader = drawinfo.skinDyePacked
1184 });
1185 }
1186 if (!flag5 && flag4)
1187 {
1188 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 5].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorBodySkin, rotation, bodyVect, 1f, drawinfo.playerEffect)
1189 {
1190 shader = drawinfo.skinDyePacked
1191 });
1192 flag5 = true;
1193 }
1194 }
1195 if (!flag3)
1196 {
1197 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 8].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorUnderShirt, rotation, bodyVect, 1f, drawinfo.playerEffect));
1199 drawinfo.DrawDataCache.Add(new DrawData(TextureAssets.Players[drawinfo.skinVar, 13].Value, vector3, drawinfo.compBackArmFrame, drawinfo.colorShirt, rotation, bodyVect, 1f, drawinfo.playerEffect));
1200 }
1201 }
1202 if (drawinfo.drawPlayer.handoff > 0 && drawinfo.drawPlayer.handoff < ArmorIDs.HandOff.Count)
1203 {
1204 Texture2D value2 = TextureAssets.AccHandsOffComposite[drawinfo.drawPlayer.handoff].Value;
1205 DrawCompositeArmorPiece(ref drawinfo, CompositePlayerDrawContext.BackArmAccessory, new DrawData(value2, vector3, drawinfo.compBackArmFrame, drawinfo.colorArmorBody, rotation, bodyVect, 1f, drawinfo.playerEffect)
1206 {
1207 shader = drawinfo.cHandOff
1208 });
1209 }
1210 if (drawinfo.drawPlayer.drawingFootball)
1211 {
1212 Main.instance.LoadProjectile(861);
1214 Rectangle rectangle = value3.Frame(1, 4);
1215 Vector2 origin = rectangle.Size() / 2f;
1216 Vector2 position2 = vector3 + new Vector2(drawinfo.drawPlayer.direction * -2, drawinfo.drawPlayer.gravDir * 4f);
1217 drawinfo.DrawDataCache.Add(new DrawData(value3, position2, rectangle, drawinfo.colorArmorBody, bodyRotation + (float)Math.PI / 4f * (float)drawinfo.drawPlayer.direction, origin, 0.8f, drawinfo.playerEffect));
1218 }
1219 }
void Add(TKey key, TValue value)
const double PI
Definition Math.cs:16
static void DrawCompositeArmorPiece(ref PlayerDrawSet drawinfo, CompositePlayerDrawContext context, DrawData data)
static Vector2 GetCompositeOffset_BackArm(ref PlayerDrawSet drawinfo)
static bool IsArmorDrawnWhenInvisible(int torsoID)
static void DrawPlayer_12_1_BalloonFronts(ref PlayerDrawSet drawinfo)
static Asset< Texture2D >[] AccHandsOffComposite
static Asset< Texture2D >[] ArmorBodyComposite
static Asset< Texture2D >[] Projectile
static Asset< Texture2D >[,] Players
static readonly int Count
Definition ArmorIDs.cs:1032
static readonly int Count
Definition ArmorIDs.cs:1582

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

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