64 lines
2.7 KiB
C#
64 lines
2.7 KiB
C#
namespace Sand.Core;
|
|
|
|
public sealed class ParticleDef
|
|
{
|
|
public string Id { get; init; } = "";
|
|
public string Name { get; init; } = "";
|
|
public ParticleKind Kind { get; init; } = ParticleKind.Solid;
|
|
public bool IsStatic { get; init; }
|
|
public bool IsSpecial { get; init; }
|
|
public float Mass { get; init; } = 1f;
|
|
public float Hardness { get; init; } = 0.5f;
|
|
public float Velocity { get; init; }
|
|
public float Conductivity { get; init; }
|
|
public bool Conductive { get; init; }
|
|
public float Flamability { get; init; }
|
|
public float Durability { get; init; } = 100f;
|
|
public float HeatCapacity { get; init; } = 1f;
|
|
public float Friction { get; init; }
|
|
public float Viscosity { get; init; }
|
|
public float Pressure { get; init; }
|
|
public float Temperature { get; init; } = 22f;
|
|
public string? Melt { get; init; }
|
|
public float? MeltTemperature { get; init; }
|
|
public string? Evaporate { get; init; }
|
|
public float? EvaporateTemperature { get; init; }
|
|
public string? Solidify { get; init; }
|
|
public float? SolidifyTemperature { get; init; }
|
|
public string? Freeze { get; init; }
|
|
public float? FreezeTemperature { get; init; }
|
|
public float BurnDuration { get; init; }
|
|
public float BurnTemperature { get; init; }
|
|
public float BurnRate { get; init; } = 1f;
|
|
public bool Burning { get; init; }
|
|
public float? Lifetime { get; init; }
|
|
public bool Explosive { get; init; }
|
|
public int ExplosionRadius { get; init; }
|
|
public Rgb24? ExplosionColor { get; init; }
|
|
public float ExplosionForce { get; init; }
|
|
public int ExplosionDuration { get; init; }
|
|
public float PressureResistance { get; init; }
|
|
public float PressureTolerance { get; init; }
|
|
public float PressureThreshold { get; init; }
|
|
public int PressureThresholdDuration { get; init; }
|
|
public string? Broken { get; init; }
|
|
public string? Produces { get; init; }
|
|
public string? ProducesOnDeath { get; init; }
|
|
public float HeatEmission { get; init; }
|
|
public float EnergyTransfer { get; init; }
|
|
public float Radius { get; init; }
|
|
public float ForceFalloff { get; init; }
|
|
public float Turbulence { get; init; }
|
|
public string[] Affects { get; init; } = [];
|
|
public bool IsWind { get; init; }
|
|
public float WindStrength { get; init; }
|
|
public float[]? WindDirection { get; init; }
|
|
public bool IsGravity { get; init; }
|
|
public float GravityStrength { get; init; }
|
|
public string? PullDirection { get; init; }
|
|
public bool IsRepulsor { get; init; }
|
|
public float RepulsionStrength { get; init; }
|
|
public string? PushDirection { get; init; }
|
|
public Rgb24 Color { get; init; } = new(255, 255, 255);
|
|
}
|