SystemGroup.md

November 22, 2024 Ā· View on GitHub

Friflo.Engine.ECS

Friflo.Engine.ECS.Systems

SystemGroup Class

Contains a list of ChildSystems which are executed by calling Update(UpdateTick).
Each group has a CommandBuffer per EntityStore.

public class SystemGroup : Friflo.Engine.ECS.Systems.BaseSystem,
System.Collections.IEnumerable

Inheritance System.Object šŸ”’ BaseSystem šŸ”’ SystemGroup

Derived
↳ SystemRoot

Implements System.Collections.IEnumerable

Constructors
SystemGroup(string)Creates a group with the passed name.
Properties
ChildSystemsThe child systems added to the group.
MonitorPerfIf true the execution statics of its ChildSystems are collected.
NameThe name of the group. Can be changed by SetName(string).
Methods
Add(BaseSystem)Adds the passed system to the group.
FindGroup(string, bool)Returns the group with the specified name.
FindSystem<T>(bool)Returns the system with of the specified type T.
GetEnumerator()Returns an enumerator that iterates through the ChildSystems.
Insert(int, BaseSystem)Adds the passed system at the given index to the group.
If index == -1 the system is added to the tail of the group.
IsAncestorOf(BaseSystem)Returns true if the group is an ancestor of the passed system.
OnAddStore(EntityStore)
OnRemoveStore(EntityStore)
OnUpdateGroup()Is called when executing Update(UpdateTick).
Remove(BaseSystem)Removes the passed system from the group.
SetMonitorPerf(bool)Enable / disable performance monitoring of its ChildSystems.
SetName(string)Changes the name of the system group.
ToString()
Update(UpdateTick)Execute all systems within the group.
Explicit Interface Implementations
System.Collections.IEnumerable.GetEnumerator()