Added namespace

This commit is contained in:
Mario Brandao 2024-01-01 13:51:39 +01:00
parent cc32f177c9
commit a38db5e6ed

View File

@ -1,60 +1,62 @@
using Godot;
using System;
public partial class MultiParticles : Node3D
namespace GodotVisualEffects
{
[Export]
public bool Emitting = true;
public partial class MultiParticles : Node3D
{
[Export]
public bool Emitting = true;
[Export]
public bool OneShot = false;
[Export]
public bool OneShot = false;
[Export]
public Godot.Collections.Array<GpuParticles3D> Particles;
[Export]
public Godot.Collections.Array<GpuParticles3D> Particles;
double Lifetime = 0.0f;
double Lifetime = 0.0f;
public override void _Ready()
{
if (Emitting)
{
StartEmitters();
}
}
public override void _Ready()
{
if (Emitting)
{
StartEmitters();
}
}
void GetLifetime()
{
foreach (var particle in Particles)
{
if (particle.Lifetime > Lifetime)
{
Lifetime = particle.Lifetime;
}
}
}
void GetLifetime()
{
foreach (var particle in Particles)
{
if (particle.Lifetime > Lifetime)
{
Lifetime = particle.Lifetime;
}
}
}
public async void StartEmitters()
{
GetLifetime();
public async void StartEmitters()
{
GetLifetime();
foreach (var particle in Particles)
particle.Emitting = true;
foreach (var particle in Particles)
particle.Emitting = true;
await ToSignal(GetTree().CreateTimer(Lifetime), SceneTreeTimer.SignalName.Timeout);
DisposeOfEmitters();
await ToSignal(GetTree().CreateTimer(Lifetime), SceneTreeTimer.SignalName.Timeout);
DisposeOfEmitters();
if (!OneShot)
{
StartEmitters();
}
}
void DisposeOfEmitters()
{
foreach (var particle in Particles)
{
particle.Emitting = false;
}
}
if (!OneShot)
{
StartEmitters();
}
}
void DisposeOfEmitters()
{
foreach (var particle in Particles)
{
particle.Emitting = false;
}
}
}
}