using Unity.Entities; using Unity.Mathematics; namespace ProjectM.Simulation { /// /// A walk-in travel gate between world regions. A baked entity (visible mesh + this component) at a fixed /// position; the server ExpeditionGateSystem transits a player who walks within /// and whose region matches to , placing them at /// (offset from the destination gate so they do not immediately re-trigger). /// Returning to the base during the Expedition phase also starts Defend early (the "timer cap + early /// return" pacing). /// public struct ExpeditionGate : IComponentData { /// Region a player must currently be in for this gate to act on them (see ). public byte FromRegion; /// Region the player is transited to. public byte ToRegion; /// Planar (XZ) trigger radius in world units. public float Radius; /// World position the player arrives at in the destination region. public float3 ArrivalPos; } }