Table of Contents

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

id ChunkLeaseId

Returns

bool

Create(StableEntityId, Transform, SpatialGridLayout, int, Action<Entity>?)

public StableEntityId Create(StableEntityId id, Transform transform, SpatialGridLayout layout, int chunkLevel, Action<Entity>? configure = null)

Parameters

id StableEntityId
transform Transform
layout SpatialGridLayout
chunkLevel int
configure Action<Entity>

Returns

StableEntityId

GetDemand(Entity, Vector3i)

Returns each open ticket's independent weight for one coordinate.

public ChunkDemand[] GetDemand(Entity grid, Vector3i coordinate)

Parameters

grid Entity
coordinate Vector3i

Returns

ChunkDemand[]

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

grid Entity
weight double
coordinates ReadOnlySpan<Vector3i>
completion ChunkLeaseCompletion
autoClose bool

Returns

ChunkLeaseId

RegisterResidencyProvider(World, Action<GridCellAddress>)

Registers the single receiver for last-ticket unload eligibility.

public static void RegisterResidencyProvider(World store, Action<GridCellAddress> unloadEligible)

Parameters

store World
unloadEligible Action<GridCellAddress>

ReportFailure(Entity, Vector3i, Exception)

public void ReportFailure(Entity grid, Vector3i coordinate, Exception reason)

Parameters

grid Entity
coordinate Vector3i
reason Exception

ReportLoaded(Entity, Vector3i)

public void ReportLoaded(Entity grid, Vector3i coordinate)

Parameters

grid Entity
coordinate Vector3i

ReportUnloaded(Entity, Vector3i)

public void ReportUnloaded(Entity grid, Vector3i coordinate)

Parameters

grid Entity
coordinate Vector3i

TryGetLease(ChunkLeaseId, out ChunkLeaseSnapshot)

public bool TryGetLease(ChunkLeaseId id, out ChunkLeaseSnapshot snapshot)

Parameters

id ChunkLeaseId
snapshot ChunkLeaseSnapshot

Returns

bool