WIP on (no branch): a99e3f3 WIP on master: 6e5d406 Decouple ParticleSimulation into separate class

This commit is contained in:
2021-12-28 14:32:11 -05:00
7 changed files with 177 additions and 137 deletions

View File

@@ -1,33 +1,37 @@
using Godot;
namespace Particles
namespace Particles.ParticleSimulation
{
public class Particle
{
private float _health = 1f;
public Vector2 Position = new Vector2();
public bool ScreenWrappedLast = true;
public Vector2 Velocity = new Vector2();
public ParticleType Type { get; }
public float AverageSpeed { get; private set; } = 1f;
public int Id { get; }
public float Health
{
get => _health;
set => _health = Mathf.Clamp(value, 0f, 1f);
}
private float _health = 1f;
public Particle(int id, ParticleType type)
{
Id = id;
Type = type;
}
public ParticleType Type { get; }
public float AverageSpeed { get; private set; } = 1f;
// ReSharper disable once UnusedAutoPropertyAccessor.Global
// ReSharper disable once MemberCanBePrivate.Global
public int Id { get; }
public float Health
{
get => _health;
set => _health = Mathf.Clamp(value, 0f, 1f);
}
public void AddAverageSpeedValue(float speed)
{
AverageSpeed = (0.99f * AverageSpeed) + (0.01f * speed);
AverageSpeed = 0.99f * AverageSpeed + 0.01f * speed;
}
}
}