// Decompiled with JetBrains decompiler // Type: Terraria.GameContent.Dyes.TeamArmorShaderData // Assembly: Terraria, Version=1.3.5.3, Culture=neutral, PublicKeyToken=null // MVID: 68659D26-2BE6-448F-8663-74FA559E6F08 // Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe using Microsoft.Xna.Framework.Graphics; using Terraria.DataStructures; using Terraria.Graphics.Shaders; namespace Terraria.GameContent.Dyes { public class TeamArmorShaderData : ArmorShaderData { private static bool isInitialized; private static ArmorShaderData[] dustShaderData; public TeamArmorShaderData(Ref shader, string passName) : base(shader, passName) { if (TeamArmorShaderData.isInitialized) return; TeamArmorShaderData.isInitialized = true; TeamArmorShaderData.dustShaderData = new ArmorShaderData[Main.teamColor.Length]; for (int index = 1; index < Main.teamColor.Length; ++index) TeamArmorShaderData.dustShaderData[index] = new ArmorShaderData(shader, passName).UseColor(Main.teamColor[index]); TeamArmorShaderData.dustShaderData[0] = new ArmorShaderData(shader, "Default"); } public override void Apply(Entity entity, DrawData? drawData) { if (!(entity is Player player) || player.team == 0) { TeamArmorShaderData.dustShaderData[0].Apply((Entity) player, drawData); } else { this.UseColor(Main.teamColor[player.team]); base.Apply((Entity) player, drawData); } } public override ArmorShaderData GetSecondaryShader(Entity entity) { Player player = entity as Player; return TeamArmorShaderData.dustShaderData[player.team]; } } }