Reimplemented in Terraria.GameContent.Dyes.ReflectiveArmorShaderData, Terraria.GameContent.Dyes.TeamArmorShaderData, and Terraria.GameContent.Dyes.TwilightDyeShaderData.
Definition at line 34 of file ArmorShaderData.cs.
35 {
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
69 base.Shader.Parameters[
"uTime"].SetValue(Main.GlobalTimeWrappedHourly);
73 {
76 base.Shader.Parameters[
"uSourceRect"].SetValue(
value2);
77 base.Shader.Parameters[
"uLegacyArmorSourceRect"].SetValue(
value2);
78 base.Shader.Parameters[
"uWorldPosition"].SetValue(Main.screenPosition + value.
position);
79 base.Shader.Parameters[
"uImageSize0"].SetValue(
new Vector2((
float)value.
texture.Width, (
float)value.
texture.Height));
80 base.Shader.Parameters[
"uLegacyArmorSheetSize"].SetValue(
new Vector2((
float)value.
texture.Width, (
float)value.
texture.Height));
81 base.Shader.Parameters[
"uRotation"].SetValue(value.
rotation * (((
Enum)value.
effect).HasFlag((
Enum)(
object)(SpriteEffects)1) ? (-1
f) : 1
f));
82 base.Shader.Parameters[
"uDirection"].SetValue((!((
Enum)value.
effect).HasFlag((
Enum)(
object)(SpriteEffects)1)) ? 1 : (-1));
83 }
84 else
85 {
86 Vector4
value3 =
default(Vector4);
88 base.Shader.Parameters[
"uSourceRect"].SetValue(
value3);
89 base.Shader.Parameters[
"uLegacyArmorSourceRect"].SetValue(
value3);
90 base.Shader.Parameters[
"uRotation"].SetValue(0
f);
91 }
93 {
94 Main.graphics.GraphicsDevice.Textures[1] = (Texture)(
object)
_uImage.Value;
95 base.Shader.Parameters[
"uImageSize1"].SetValue(
new Vector2((
float)
_uImage.Width(), (float)
_uImage.Height()));
96 }
97 if (entity != null)
98 {
99 base.Shader.Parameters[
"uDirection"].SetValue((
float)entity.direction);
100 }
101 if (entity
is Player { bodyFrame:
var bodyFrame })
102 {
103 base.Shader.Parameters[
"uLegacyArmorSourceRect"].SetValue(
new Vector4((
float)bodyFrame.X, (float)bodyFrame.Y, (
float)bodyFrame.Width, (float)bodyFrame.Height));
104 base.Shader.Parameters[
"uLegacyArmorSheetSize"].SetValue(
new Vector2(40
f, 1120
f));
105 }
107 }
Asset< Texture2D > _uImage
References Terraria.Graphics.Shaders.ArmorShaderData._uColor, Terraria.Graphics.Shaders.ArmorShaderData._uImage, Terraria.Graphics.Shaders.ArmorShaderData._uOpacity, Terraria.Graphics.Shaders.ArmorShaderData._uSaturation, Terraria.Graphics.Shaders.ArmorShaderData._uSecondaryColor, Terraria.Graphics.Shaders.ArmorShaderData._uTargetPosition, Terraria.Graphics.Shaders.ShaderData.Apply(), Terraria.Entity.direction, Terraria.DataStructures.DrawData.effect, Terraria.Main.GlobalTimeWrappedHourly, Terraria.Main.graphics, Terraria.DataStructures.DrawData.position, Terraria.DataStructures.DrawData.rotation, Terraria.Main.screenPosition, Terraria.DataStructures.DrawData.sourceRect, and Terraria.DataStructures.DrawData.texture.