using Unity.Entities; using Unity.NetCode; namespace ProjectM.Simulation { /// /// Long-arc progress toward the goal ("reach THEM"). Lives on the GLOBAL CycleDirector ghost (relevant in /// every region, alongside CycleState + the resource ledger), so it is visible to all players regardless /// of region. Sole PRODUCTION writer (DR-042): ExpeditionGateSystem increments by /// one per cleared EXPEDITION (on the player's return). GoalReachedSystem only READS the Charge==Target /// edge to arm the climactic final siege. (DebugCommandReceiveSystem is a manual dev-op writer.) The HUD /// observes it for a progress bar. /// public struct GoalProgress : IComponentData { /// Accumulated progress. [GhostField] public int Charge; /// Charge required to reach the goal. [GhostField] public int Target; } }