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

◆ Draw()

void Terraria.Graphics.FlameLashDrawer.Draw ( Projectile proj)
inline

Definition at line 12 of file FlameLashDrawer.cs.

13 {
14 transitToDark = Utils.GetLerpValue(0f, 6f, proj.localAI[0], clamped: true);
15 MiscShaderData miscShaderData = GameShaders.Misc["FlameLash"];
16 miscShaderData.UseSaturation(-2f);
17 miscShaderData.UseOpacity(MathHelper.Lerp(4f, 8f, transitToDark));
18 miscShaderData.Apply();
19 _vertexStrip.PrepareStripWithProceduralPadding(proj.oldPos, proj.oldRot, StripColors, StripWidth, -Main.screenPosition + proj.Size / 2f);
20 _vertexStrip.DrawTrail();
21 Main.pixelShader.CurrentTechnique.Passes[0].Apply();
22 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
static Dictionary< string, MiscShaderData > Misc
virtual void Apply(DrawData? drawData=null)
MiscShaderData UseSaturation(float saturation)
MiscShaderData UseOpacity(float alpha)
Color StripColors(float progressOnStrip)
float StripWidth(float progressOnStrip)

References Terraria.Graphics.FlameLashDrawer._vertexStrip, Terraria.Graphics.Shaders.MiscShaderData.Apply(), Terraria.Utils.GetLerpValue(), Microsoft.Xna.Framework.MathHelper.Lerp(), Terraria.Projectile.localAI, Terraria.Graphics.Shaders.GameShaders.Misc, Terraria.Projectile.oldPos, Terraria.Projectile.oldRot, Terraria.Main.pixelShader, Terraria.Main.screenPosition, Terraria.Entity.Size, Terraria.Graphics.FlameLashDrawer.StripColors(), Terraria.Graphics.FlameLashDrawer.StripWidth(), Terraria.Graphics.FlameLashDrawer.transitToDark, Terraria.Graphics.Shaders.MiscShaderData.UseOpacity(), and Terraria.Graphics.Shaders.MiscShaderData.UseSaturation().