holoride
Search Results for

    Show / Hide Table of Contents

    Class SpawnerWorker

    The base class to spawn objects.

    Inheritance
    object
    PipelineWorkerBase
    SpawnerWorker
    SpawnerNode.SpawnerWorker<T>
    Implements
    IPipelineWorker
    Inherited Members
    PipelineWorkerBase.GenerationSettings
    PipelineWorkerBase.GenerationState
    PipelineWorkerBase.CurrentGenerationContext
    PipelineWorkerBase.Pipeline
    PipelineWorkerBase.IsGatheringResources
    PipelineWorkerBase.IsProcessing
    PipelineWorkerBase.Inputs
    PipelineWorkerBase.MissingMandatoryInputs
    PipelineWorkerBase.AddMissingMandatoryInput(string)
    PipelineWorkerBase.HasMissingMandatoryInputInHierarchy
    PipelineWorkerBase.AddInput(string, IPipelineWorker)
    PipelineWorkerBase.GetInput(string)
    PipelineWorkerBase.GetInput<T>(string)
    PipelineWorkerBase.InitResources()
    PipelineWorkerBase.CallInitResources()
    PipelineWorkerBase.Init()
    PipelineWorkerBase.GatherResourcesAsync(GenerationContext, IProgress<float>, CancellationToken)
    PipelineWorkerBase.CallGatherResourcesAsync(GenerationContext, IProgress<float>, CancellationToken)
    PipelineWorkerBase.ProcessAsync(GenerationContext, IProgress<float>, CancellationToken)
    PipelineWorkerBase.CallProcessAsync(GenerationContext, IProgress<float>, CancellationToken)
    PipelineWorkerBase.CleanUp()
    PipelineWorkerBase.CallCleanUp()
    Namespace: Holoride.ElasticSDK
    Assembly: Holoride.ElasticSDK.Library.Runtime.dll
    Syntax
    [PublicAPI]
    public abstract class SpawnerWorker : PipelineWorkerBase, IPipelineWorker

    Constructors

    SpawnerWorker(double, float, bool)

    Instantiates a SpawnerWorker.

    Declaration
    public SpawnerWorker(double cellSize, float extents, bool isUnconstrained)
    Parameters
    Type Name Description
    double cellSize

    The edge length of each squared cell.

    float extents

    The extents around the players position, defining the area where the objects are spawned.

    bool isUnconstrained

    Whether this spawner uses unconstrained extents. Spawners using unconstrained extents may have extents larger than the extents of the generator (and thus the area covered by maps). As such, unclamped spawners should not rely on map data.

    Fields

    CellSize

    The edge length of each squared cell.

    Declaration
    public readonly double CellSize
    Field Value
    Type Description
    double

    IsUnconstrained

    Whether the extents of this spawner are always unclamped.

    Declaration
    public readonly bool IsUnconstrained
    Field Value
    Type Description
    bool

    OnGameObjectsCreated

    Declaration
    public Action<List<GameObject>> OnGameObjectsCreated
    Field Value
    Type Description
    Action<List<GameObject>>

    Properties

    Bounds

    Gets the current bounds of this spawner.

    Declaration
    public GlobalBounds Bounds { get; }
    Property Value
    Type Description
    GlobalBounds

    DiscreteRadius

    Gets the radius after discretization.

    Declaration
    public int DiscreteRadius { get; }
    Property Value
    Type Description
    int

    Extents

    Gets the extents around the players position, defining the area where the objects are spawned. Attempts to return clamped extents for the currently used GenerationSettings. Returns raw, unclamped extents if no settings are available (e.g. worker not in a pipeline).

    Declaration
    public float Extents { get; }
    Property Value
    Type Description
    float

    MayUpdateMovingGrid

    Declaration
    protected virtual bool MayUpdateMovingGrid { get; }
    Property Value
    Type Description
    bool

    QuantityInitEstimation

    Gets or sets the precomputed quantity that should be initialized by an Init() call.

    Declaration
    public virtual int QuantityInitEstimation { get; protected set; }
    Property Value
    Type Description
    int

    Methods

    CallInit()

    Declaration
    public override sealed void CallInit()
    Overrides
    PipelineWorkerBase.CallInit()

    CellKeyToBounds(Vector2Int)

    Helper function to compute the bounds of a cell.

    Declaration
    public GlobalBounds CellKeyToBounds(Vector2Int cellKey)
    Parameters
    Type Name Description
    Vector2Int cellKey

    The cell key to convert.

    Returns
    Type Description
    GlobalBounds

    The bounds of the cell.

    ComputeCellKeyFromPosition(GlobalPosition)

    Hashes the position coordinates to receive a discrete cell key.

    Declaration
    public Vector2Int ComputeCellKeyFromPosition(GlobalPosition position)
    Parameters
    Type Name Description
    GlobalPosition position

    The position to hash.

    Returns
    Type Description
    Vector2Int

    The discrete cell key.

    DestroyAllCells()

    Destroys all currently existing spawned game objects and clears the internal cache.

    Declaration
    protected void DestroyAllCells()

    DestroyCell(IEnumerable<GameObject>)

    Destroys all objects within a cell by destroying them. Override this function to treat disappearing objects differently, e.g. to return them to an object pool.

    Declaration
    public virtual void DestroyCell(IEnumerable<GameObject> gameObjects)
    Parameters
    Type Name Description
    IEnumerable<GameObject> gameObjects

    The game objects to destroy.

    Dispose()

    Declaration
    public override void Dispose()
    Overrides
    PipelineWorkerBase.Dispose()

    EvaluateSpawnCandidate(int, GlobalPosition, CancellationToken)

    Declaration
    protected virtual UniTask<GameObject> EvaluateSpawnCandidate(int seed, GlobalPosition globalPosition, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    int seed
    GlobalPosition globalPosition
    CancellationToken cancellationToken
    Returns
    Type Description
    Cysharp.Threading.Tasks.UniTask<T><GameObject>

    MoveSpawnPosition(GlobalPosition, CancellationToken)

    Moves the spawn position.

    Declaration
    public UniTask MoveSpawnPosition(GlobalPosition position, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    GlobalPosition position

    The position to move to.

    CancellationToken cancellationToken

    The token to monitor for cancellation requests.

    Returns
    Type Description
    Cysharp.Threading.Tasks.UniTask

    SpawnCell(Vector2Int, IList<GameObject>, CancellationToken)

    Implement to spawn all objects within the given cell.

    Declaration
    protected abstract UniTask SpawnCell(Vector2Int cellKey, IList<GameObject> spawnedObjects, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    Vector2Int cellKey

    The cell key.

    IList<GameObject> spawnedObjects

    The list to which to add all objects that were spawned.

    CancellationToken cancellationToken
    Returns
    Type Description
    Cysharp.Threading.Tasks.UniTask

    Implements

    IPipelineWorker
    In This Article

    Back to top
    ©   holoride
    Privacy   Imprint