Class GenerationContext
Contains the immutable meta-information of a single update iteration. Will be discarded when the update is done but can be kept by functions that need information about former iterations - such as async operations that may last longer than an update period.
Inherited Members
Namespace: Holoride.ElasticSDK
Assembly: Holoride.ElasticSDK.Library.Runtime.dll
Syntax
public class GenerationContext : ExtensibleObject<IGenerationContext>
Constructors
GenerationContext(GlobalPosition, GeoCoordinate, GenerationSettings)
Instantiates a GenerationContext.
Declaration
public GenerationContext(GlobalPosition generationOrigin, GeoCoordinate pivot, GenerationSettings settings)
Parameters
Type | Name | Description |
---|---|---|
GlobalPosition | generationOrigin | |
GeoCoordinate | pivot | The pivot GeoCoordinate. |
GenerationSettings | settings |
Fields
Bounds
The current terrain aligned bounds not respecting the blend margin.
Declaration
public readonly GlobalBounds Bounds
Field Value
Type | Description |
---|---|
GlobalBounds |
InnerBounds
The current terrain aligned bounds respecting the blend margin. Use this for processes that require consistent Map data.
Declaration
public readonly GlobalBounds InnerBounds
Field Value
Type | Description |
---|---|
GlobalBounds |
Pivot
The pivot GeoCoordinate.
Declaration
public readonly GeoCoordinate Pivot
Field Value
Type | Description |
---|---|
GeoCoordinate |
Settings
The Generation Settings.
Declaration
public readonly GenerationSettings Settings
Field Value
Type | Description |
---|---|
GenerationSettings |
WorkersWithoutResources
The set of workers that failed to acquire some of their required resources.
Declaration
public readonly ISet<IPipelineWorker> WorkersWithoutResources
Field Value
Type | Description |
---|---|
ISet<IPipelineWorker> |
Methods
GatherAllResourcesAsync(GenerationSettings, IProgress<float>, CancellationToken)
Performs the resource gathering step for all registered IPreprocessingGenerationContext instances registered with this context.
Declaration
public UniTask GatherAllResourcesAsync(GenerationSettings settings, IProgress<float> onProgressUpdate = null, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
GenerationSettings | settings | Contains immutable data that cannot be changed during the whole generation loop. |
IProgress<float> | onProgressUpdate | Called with relative progress in [0, 1]. |
CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
Cysharp.Threading.Tasks.UniTask |
ProcessAllAsync(GenerationSettings, IProgress<float>, CancellationToken)
Performs the processing step for all registered IPreprocessingGenerationContext instances registered with this context.
Declaration
public UniTask ProcessAllAsync(GenerationSettings settings, IProgress<float> onProgressUpdate = null, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
GenerationSettings | settings | Contains immutable data that cannot be changed during the whole generation loop. |
IProgress<float> | onProgressUpdate | Called with relative progress in [0, 1]. |
CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
Cysharp.Threading.Tasks.UniTask |