using Unity.Entities;
using Unity.NetCode;
namespace ProjectM.Simulation
{
///
/// MC-1 — predicted per-player dash cooldown gate (an AbilityCooldown twin). [GhostField] so the
/// owning client does not mispredict the cooldown across rollback / reconnect: re-predicted ticks see the same
/// authoritative gate the server applied and converge without a double-dash. 0 = ready; set to
/// serverTick + dashCooldownTicks via TickUtil.NonZero on dash-start; compare by wrapping into a
/// and using (raw uint subtraction is unsafe
/// across tick wraparound). Baked {NextTick = 0}.
///
public struct DashCooldown : IComponentData
{
/// Raw tick of the earliest tick the player may dash again. 0 = ready.
[GhostField] public uint NextTick;
}
}