Class WorldChunkGrid
- Namespace
- Shard.Gameplay.World
- Assembly
- Shard.Gameplay.World.dll
Provides synchronous World-thread operations for chunk-grid lease tickets.
public sealed class WorldChunkGrid
- Inheritance
-
WorldChunkGrid
- Inherited Members
Methods
Close(ChunkLeaseId)
Closes a live ticket through ordinary World deletion.
public bool Close(ChunkLeaseId id)
Parameters
idChunkLeaseId
Returns
Create(StableEntityId, Transform, SpatialGridLayout, int, Action<Entity>?)
public StableEntityId Create(StableEntityId id, Transform transform, SpatialGridLayout layout, int chunkLevel, Action<Entity>? configure = null)
Parameters
idStableEntityIdtransformTransformlayoutSpatialGridLayoutchunkLevelintconfigureAction<Entity>
Returns
GetDemand(Entity, Vector3i)
Returns each open ticket's independent weight for one coordinate.
public ChunkDemand[] GetDemand(Entity grid, Vector3i coordinate)
Parameters
gridEntitycoordinateVector3i
Returns
Lease(Entity, double, ReadOnlySpan<Vector3i>, ChunkLeaseCompletion?, bool)
Creates one related ECS ticket and returns only its passive identifier.
public ChunkLeaseId Lease(Entity grid, double weight, ReadOnlySpan<Vector3i> coordinates, ChunkLeaseCompletion? completion = null, bool autoClose = false)
Parameters
gridEntityweightdoublecoordinatesReadOnlySpan<Vector3i>completionChunkLeaseCompletionautoClosebool
Returns
RegisterResidencyProvider(World, Action<GridCellAddress>)
Registers the single receiver for last-ticket unload eligibility.
public static void RegisterResidencyProvider(World store, Action<GridCellAddress> unloadEligible)
Parameters
storeWorldunloadEligibleAction<GridCellAddress>
ReportFailure(Entity, Vector3i, Exception)
public void ReportFailure(Entity grid, Vector3i coordinate, Exception reason)
Parameters
ReportLoaded(Entity, Vector3i)
public void ReportLoaded(Entity grid, Vector3i coordinate)
Parameters
gridEntitycoordinateVector3i
ReportUnloaded(Entity, Vector3i)
public void ReportUnloaded(Entity grid, Vector3i coordinate)
Parameters
gridEntitycoordinateVector3i
TryGetLease(ChunkLeaseId, out ChunkLeaseSnapshot)
public bool TryGetLease(ChunkLeaseId id, out ChunkLeaseSnapshot snapshot)
Parameters
idChunkLeaseIdsnapshotChunkLeaseSnapshot