using Unity.Entities;
using Unity.NetCode;
namespace ProjectM.Simulation
{
///
/// The player's expedition ready-check flag — a plain send-to-all [GhostField] byte on the player ghost so
/// EVERY client can render the "N/M READY" staging panel (owner-only would hide teammates' readiness). Written
/// server-only by ReadyToggleSystem from the RPC — honored during Staging
/// AND the Launching countdown (an un-ready during the countdown is the launch-abort escape hatch); cleared for
/// all players by RunDirectorSystem on the Returning edge. The N/M derivation counts live PlayerTag ghosts,
/// which is valid ONLY because the party is co-located at base while Staging (the co-location invariant — N7);
/// ready toggles are refused in every other lifecycle state.
///
public struct PlayerReady : IComponentData
{
/// 1 = ready to launch; 0 = not ready.
[GhostField] public byte Value;
}
}