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