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 }