42 lines
851 B
C#
42 lines
851 B
C#
|
|
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
|
||
|
|
|
||
|
|
}
|