Table of Contents

Class BaseScene

Namespace
Gloam.Core.Interfaces.Base
Assembly
Gloam.Core.dll

Base implementation for scenes providing common functionality and patterns. Concrete implementations only need to override the lifecycle methods as needed.

public abstract class BaseScene : IScene
Inheritance
BaseScene
Implements
Derived
Inherited Members

Constructors

BaseScene(string)

protected BaseScene(string name)

Parameters

name string

Properties

IsActive

Gets whether this scene is currently active

public bool IsActive { get; }

Property Value

bool

Layers

Gets the layer renderers that belong to this scene

public IReadOnlyList<ILayerRenderer> Layers { get; }

Property Value

IReadOnlyList<ILayerRenderer>

Name

Gets the unique name of this scene

public string Name { get; }

Property Value

string

Methods

ActivateSceneAsync(CancellationToken)

Override this method to implement scene-specific activation logic. Default implementation does nothing.

protected virtual ValueTask ActivateSceneAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

AddLayer(ILayerRenderer)

Adds a layer renderer to this scene

protected void AddLayer(ILayerRenderer layer)

Parameters

layer ILayerRenderer

The layer renderer to add

DeactivateSceneAsync(CancellationToken)

Override this method to implement scene-specific deactivation logic. Default implementation does nothing.

protected virtual ValueTask DeactivateSceneAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

OnActivateAsync(CancellationToken)

Called when the scene becomes active

public ValueTask OnActivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

A ValueTask representing the activation operation

OnDeactivateAsync(CancellationToken)

Called when the scene becomes inactive

public ValueTask OnDeactivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

A ValueTask representing the deactivation operation

OnPostActivateAsync(CancellationToken)

Called after the main activation logic. Override to perform additional setup. Default implementation does nothing.

protected virtual ValueTask OnPostActivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

OnPostDeactivateAsync(CancellationToken)

Called after the main deactivation logic. Override to perform final cleanup. Default implementation does nothing.

protected virtual ValueTask OnPostDeactivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

OnPreActivateAsync(CancellationToken)

Called before the main activation logic. Override to perform setup operations. Default implementation does nothing.

protected virtual ValueTask OnPreActivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

OnPreDeactivateAsync(CancellationToken)

Called before the main deactivation logic. Override to perform cleanup operations. Default implementation does nothing.

protected virtual ValueTask OnPreDeactivateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

RemoveLayer(ILayerRenderer)

Removes a layer renderer from this scene

protected bool RemoveLayer(ILayerRenderer layer)

Parameters

layer ILayerRenderer

The layer renderer to remove

Returns

bool

True if the layer was found and removed, false otherwise

UpdateAsync(CancellationToken)

Called every frame while the scene is active

public ValueTask UpdateAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask

A ValueTask representing the update operation

UpdateSceneAsync(CancellationToken)

Override this method to implement scene-specific update logic. Default implementation does nothing.

protected virtual ValueTask UpdateSceneAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Cancellation token

Returns

ValueTask