using Unity.Entities;
namespace ProjectM.Simulation
{
///
/// Baked singleton holding the resource-node ghost prefab + field shape. RoomFieldSystem reads it to
/// scatter nodes within of the expedition region origin on each
/// Expedition phase entry (seeded by the cycle number). Mirrors .
///
public struct ResourceFieldSpawner : IComponentData
{
/// Baked resource-node ghost prefab to instantiate.
public Entity Prefab;
/// Number of nodes to scatter per expedition.
public int Count;
/// Scatter radius (world units) around the expedition region origin.
public float Radius;
}
///
/// Server-only bookkeeping for , attached at runtime beside the
/// baked spawner singleton (the BaseFieldRuntime idiom): the RunRuntime.RoomEpoch this system last seeded,
/// int-equality-compared so each room's field scatters exactly once. NOT replicated; session-scoped.
///
public struct RoomFieldState : IComponentData
{
public int LastSpawnedRoomEpoch;
}
}