DataUpdaterList

Description

abstract class Tinman.Terrain.Kernel.DataUpdaterList
<T ref : IDataUpdater>

Derived from

Disposable abstract
IDataUpdater

Extended by

MeshStructureUpdaterList sealed
VertexUpdaterList sealed

Abstract base class for implementations of IDataUpdater that aggregate zero or more data updater objects and forward data updates to all of them.

Public / Methods

Add


public method Add → (1)

updater in : T

[not-null]
The data updater to add.

Adds a data updater.

TinmanException

If preparation of updater in via Prepare has failed.

Remove


public method Remove → (1)

updater in : T

[not-null]
The data updater to remove.

Removes a data updater.

Protected / Constructors

DataUpdaterList


protected constructor DataUpdaterList → ()

Creates a new instance of DataUpdaterList.

Protected / Methods

Prepare


[EmptyBody]
protected virtual method Prepare → (1)

updater in : T

The data updater that has been added.

Called form within Add; subclasses may perform additional preparations here.

TinmanException

If an unexpected error has occurred while preparing updater in.

Protected / Attributes

entries


[Owner]
protected attribute entries → (ArrayVector<T>)

The data updater entries.

May only be accessed while holding a lock on monitor.

entriesCopy


protected attribute entriesCopy → (T [ ])

Shadow copy of the current set of entries.

May be accessed without holding a lock on monitor, however entries may be invalid (i.e. not LifecycleState.Initialized).

monitor


[Owner]
protected attribute monitor → (Monitor)

Monitor for thread synchronization.