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;
}
}