Files
2026-05-31 21:35:12 -07:00

21 lines
868 B
C#

using Unity.Entities;
using Unity.NetCode;
namespace ProjectM.Simulation
{
/// <summary>
/// Hit points for any damageable ghost (players, training dummies). Server-authoritative:
/// only server systems write <see cref="Current"/>; clients receive it via the [GhostField]
/// for display and prediction reconciliation. <see cref="Max"/> is baked identically on both
/// worlds and is not replicated. Added by PlayerBaker / TrainingDummyBaker.
/// </summary>
public struct Health : IComponentData
{
/// <summary>Current hit points. Replicated for display and reconciles the predicted value against the server's authoritative state.</summary>
[GhostField] public float Current;
/// <summary>Maximum hit points. Baked identically on client and server; not replicated.</summary>
public float Max;
}
}