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
Layers
Gets the layer renderers that belong to this scene
public IReadOnlyList<ILayerRenderer> Layers { get; }
Property Value
Name
Gets the unique name of this scene
public string Name { get; }
Property Value
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
CancellationTokenCancellation token
Returns
AddLayer(ILayerRenderer)
Adds a layer renderer to this scene
protected void AddLayer(ILayerRenderer layer)
Parameters
layer
ILayerRendererThe 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
CancellationTokenCancellation token
Returns
OnActivateAsync(CancellationToken)
Called when the scene becomes active
public ValueTask OnActivateAsync(CancellationToken ct = default)
Parameters
ct
CancellationTokenCancellation 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
CancellationTokenCancellation 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
CancellationTokenCancellation token
Returns
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
CancellationTokenCancellation token
Returns
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
CancellationTokenCancellation token
Returns
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
CancellationTokenCancellation token
Returns
RemoveLayer(ILayerRenderer)
Removes a layer renderer from this scene
protected bool RemoveLayer(ILayerRenderer layer)
Parameters
layer
ILayerRendererThe 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
CancellationTokenCancellation 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
CancellationTokenCancellation token