rokojori_action_library/Runtime/VFX/ParticleVFX/ParticleVFXPreset.cs

42 lines
851 B
C#
Raw Normal View History

2026-10-05 19:25:04 +00:00
using Godot;
using System.Collections.Generic;
using Rokojori.Extensions;
namespace Rokojori;
[Tool]
[GlobalClass ]
public abstract partial class ParticleVFXPreset:Resource
{
[ExportGroup("Core")]
[Export]
public int maxParticles = 1000;
[Export( PropertyHint.Range, "0,1" )]
public float maxParticlesAmount = 1f;
[Export]
public float lifeTimeDuration = 0.3f;
[Export]
public float timeSpeed = 1f;
[Export]
public bool oneShot = false;
[Export]
public float explosiveness = 1f;
[Export]
public bool usePooling;
public abstract void Initialize( ParticleVFX vfx );
public abstract void Play( ParticleVFX vfx );
public abstract void UpdateSettings( ParticleVFX vfx );
#if TOOLS
public abstract void DrawGizmo( ParticleVFX vfx, EditorNode3DGizmoPlugin gizmoPlugin, EditorNode3DGizmo gizmo );
#endif
}