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

◆ Draw()

override void Terraria.Graphics.Renderers.FlameParticle.Draw ( ref ParticleRendererSettings settings,
SpriteBatch spritebatch )
inline

Implements Terraria.Graphics.Renderers.IParticle.

Definition at line 53 of file FlameParticle.cs.

54 {
55 Color color = new Color(120, 120, 120, 60) * Utils.GetLerpValue(1f, FadeOutNormalizedTime, _timeSinceSpawn / _timeTolive, clamped: true);
56 Vector2 vector = settings.AnchorPosition + LocalPosition;
57 ulong seed = Main.TileFrameSeed ^ (((ulong)LocalPosition.X << 32) | (uint)LocalPosition.Y);
58 Player player = Main.player[_indexOfPlayerWhoSpawnedThis];
59 for (int i = 0; i < 4; i++)
60 {
61 DrawData drawData = new DrawData(position: vector + new Vector2(Utils.RandomInt(ref seed, -2, 3), Utils.RandomInt(ref seed, -2, 3)) * Scale, texture: _texture.Value, sourceRect: _frame, color: color, rotation: Rotation, origin: _origin, scale: Scale, effect: SpriteEffects.None);
62 drawData.shader = _packedShaderIndex;
63 DrawData cdd = drawData;
64 PlayerDrawHelper.SetShaderForData(player, 0, ref cdd);
65 cdd.Draw(spritebatch);
66 }
67 Main.pixelShader.CurrentTechnique.Passes[0].Apply();
68 }
static void SetShaderForData(Player player, int cHead, ref DrawData cdd)

References Terraria.Graphics.Renderers.ABasicParticle._frame, Terraria.Graphics.Renderers.FlameParticle._indexOfPlayerWhoSpawnedThis, Terraria.Graphics.Renderers.ABasicParticle._origin, Terraria.Graphics.Renderers.FlameParticle._packedShaderIndex, Terraria.Graphics.Renderers.ABasicParticle._texture, Terraria.Graphics.Renderers.FlameParticle._timeSinceSpawn, Terraria.Graphics.Renderers.FlameParticle._timeTolive, Microsoft.Xna.Framework.Graphics.Color, Terraria.DataStructures.DrawData.Draw(), Terraria.Graphics.Renderers.FlameParticle.FadeOutNormalizedTime, Terraria.Utils.GetLerpValue(), Terraria.Graphics.Renderers.ABasicParticle.LocalPosition, Terraria.Main.pixelShader, Terraria.Main.player, Terraria.Utils.RandomInt(), Terraria.Graphics.Renderers.ABasicParticle.Rotation, Terraria.Graphics.Renderers.ABasicParticle.Scale, Terraria.DataStructures.PlayerDrawHelper.SetShaderForData(), ReLogic.Content.Asset< T >.Value, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.