Quantum 3 3.0.10

Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
Quantum.Task.SystemThreadedFilter< T > Class Template Referenceabstract

More...

Inheritance diagram for Quantum.Task.SystemThreadedFilter< T >:
Quantum.SystemBase

Public Member Functions

sealed override void OnInit (Frame f)
 Is called when the system is initialized.
 
abstract void Update (FrameThreadSafe f, ref T filter)
 
- Public Member Functions inherited from Quantum.SystemBase
 SystemBase ()
 Constructor. More...
 
 SystemBase (params SystemBase[] children)
 Create a new instance of a system with children. More...
 
 SystemBase (string scheduleSample)
 Create a new instance and setting the sample name. More...
 
virtual void OnDisabled (Frame f)
 Is called when the system was disabled for example after Frame.SystemDisable(Type). More...
 
virtual void OnEnabled (Frame f)
 Is called when the system was enabled for example after calling Frame.SystemEnable<T>() or during QuantumGame.InitSystems(Photon.Deterministic.DeterministicFrame). More...
 
TaskHandle OnSchedule (Frame f, TaskHandle taskHandle)
 Creates the task graph for the system. More...
 

Public Attributes

virtual ComponentSet Any => default
 A filter to include components from the iteration. More...
 
virtual int SliceSize => DEFAULT_SLICE_SIZE
 
virtual bool UseCulling => true
 Override to change the if the filter should exclude culled entities. More...
 
virtual ComponentSet Without => default
 A filter to exclude components from the iteration. More...
 

Static Public Attributes

const int DEFAULT_SLICE_SIZE = 16
 The default slide size. More...
 

Protected Member Functions

virtual void OnInitUser (Frame f)
 
override TaskHandle Schedule (Frame f, TaskHandle taskHandle)
 Override to add tasks to this system.
 

Additional Inherited Members

- Properties inherited from Quantum.SystemBase
IEnumerable< SystemBaseChildSystems [get]
 The enumerable child systems. More...
 
IEnumerable< SystemBaseHierarchy [get]
 Creates the complete sub graph of child systems. More...
 
SystemBase ParentSystem [get]
 The parent system in the system hierarchy. More...
 
string ProfilerName [get]
 Profiler name. More...
 
Int32 RuntimeIndex [get]
 A unique index assigned to identify systems at runtime. More...
 
virtual Boolean StartEnabled [get, set]
 Set to true when the simulation should start with this system enabled. More...
 

Detailed Description

Threaded task: similar to SystemThreadedComponent<T>, but, instead of iterating over a single component buffer, the threads will iterate over a filtered component set defined by the filter struct T, similarly to the SystemMainThreadFilter<T>.

Only access to the component itself and FrameThreadSafe is safe.

For more information request access to the online multi-threading documentation.

Template Parameters
TFilter type.
Type Constraints
T :unmanaged 

Member Data Documentation

◆ DEFAULT_SLICE_SIZE

const int Quantum.Task.SystemThreadedFilter< T >.DEFAULT_SLICE_SIZE = 16
static

The default slide size.

◆ UseCulling

virtual bool Quantum.Task.SystemThreadedFilter< T >.UseCulling => true

Override to change the if the filter should exclude culled entities.

◆ Without

virtual ComponentSet Quantum.Task.SystemThreadedFilter< T >.Without => default

A filter to exclude components from the iteration.

◆ Any

virtual ComponentSet Quantum.Task.SystemThreadedFilter< T >.Any => default

A filter to include components from the iteration.