Class EcsContext
An Entity Component SystemBase Context, i.e. its root node.
public sealed class EcsContext : EcsContainer<EcsNode>, IDisposable, IEnumerable<EcsNode>, IEnumerable
- Inheritance
-
EcsContext
- Implements
- Inherited Members
- Extension Methods
Constructors
EcsContext()
public EcsContext()
Properties
GameThread
The thread that created the ECS.
public Thread GameThread { get; }
Property Value
GameThreadTasks
A queue of tasks that need to run in the game thread.
public TaskSyncEntity<Task> GameThreadTasks { get; }
Property Value
GameTick
A topic published when a game tick passes.
public Topic<GameTick> GameTick { get; }
Property Value
this[Guid]
Get an entity in the ECS by GUID.
public EcsNode this[Guid id] { get; }
Parameters
idGuidEntity GUID.
Property Value
this[Guid, bool]
Get an entity in the ECS by GUID.
public EcsNode this[Guid id, bool rawget] { get; }
Parameters
Property Value
Kind
public override EcsNodeKind Kind { get; }
Property Value
Services
public EcsFolder Services { get; }
Property Value
Topics
public EcsFolder Topics { get; }
Property Value
Methods
Create(Type)
public EcsNode Create(Type type)
Parameters
typeType
Returns
CreateNamed<Tnode>(string)
public Tnode CreateNamed<Tnode>(string name) where Tnode : EcsNode, new()
Parameters
namestring
Returns
- Tnode
Type Parameters
Tnode
CreateNamed<Tnode>(string, params object[])
public Tnode CreateNamed<Tnode>(string name, params object[] args) where Tnode : EcsNode, IInitializerVariadic, new()
Parameters
Returns
- Tnode
Type Parameters
Tnode
CreateNamed<Tnode, T1>(string, T1)
public Tnode CreateNamed<Tnode, T1>(string name, T1 t1) where Tnode : EcsNode, IInitializer<T1>, new()
Parameters
namestringt1T1
Returns
- Tnode
Type Parameters
TnodeT1
CreateNamed<Tnode, T1, T2>(string, T1, T2)
public Tnode CreateNamed<Tnode, T1, T2>(string name, T1 t1, T2 t2) where Tnode : EcsNode, IInitializer<T1, T2>, new()
Parameters
namestringt1T1t2T2
Returns
- Tnode
Type Parameters
TnodeT1T2
CreateNamed<Tnode, T1, T2, T3>(string, T1, T2, T3)
public Tnode CreateNamed<Tnode, T1, T2, T3>(string name, T1 t1, T2 t2, T3 t3) where Tnode : EcsNode, IInitializer<T1, T2, T3>, new()
Parameters
namestringt1T1t2T2t3T3
Returns
- Tnode
Type Parameters
TnodeT1T2T3
CreateNamed<Tnode, T1, T2, T3, T4>(string, T1, T2, T3, T4)
public Tnode CreateNamed<Tnode, T1, T2, T3, T4>(string name, T1 t1, T2 t2, T3 t3, T4 t4) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4>, new()
Parameters
namestringt1T1t2T2t3T3t4T4
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4
CreateNamed<Tnode, T1, T2, T3, T4, T5>(string, T1, T2, T3, T4, T5)
public Tnode CreateNamed<Tnode, T1, T2, T3, T4, T5>(string name, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4, T5>, new()
Parameters
namestringt1T1t2T2t3T3t4T4t5T5
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4T5
CreateNamed<Tnode, T1, T2, T3, T4, T5, T6>(string, T1, T2, T3, T4, T5, T6)
public Tnode CreateNamed<Tnode, T1, T2, T3, T4, T5, T6>(string name, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4, T5, T6>, new()
Parameters
namestringt1T1t2T2t3T3t4T4t5T5t6T6
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4T5T6
Create<Tnode>()
public Tnode Create<Tnode>() where Tnode : EcsNode, new()
Returns
- Tnode
Type Parameters
Tnode
Create<Tnode>(params object[])
public Tnode Create<Tnode>(params object[] args) where Tnode : EcsNode, IInitializerVariadic, new()
Parameters
argsobject[]
Returns
- Tnode
Type Parameters
Tnode
Create<Tnode, T1>(T1)
public Tnode Create<Tnode, T1>(T1 t1) where Tnode : EcsNode, IInitializer<T1>, new()
Parameters
t1T1
Returns
- Tnode
Type Parameters
TnodeT1
Create<Tnode, T1, T2>(T1, T2)
public Tnode Create<Tnode, T1, T2>(T1 t1, T2 t2) where Tnode : EcsNode, IInitializer<T1, T2>, new()
Parameters
t1T1t2T2
Returns
- Tnode
Type Parameters
TnodeT1T2
Create<Tnode, T1, T2, T3>(T1, T2, T3)
public Tnode Create<Tnode, T1, T2, T3>(T1 t1, T2 t2, T3 t3) where Tnode : EcsNode, IInitializer<T1, T2, T3>, new()
Parameters
t1T1t2T2t3T3
Returns
- Tnode
Type Parameters
TnodeT1T2T3
Create<Tnode, T1, T2, T3, T4>(T1, T2, T3, T4)
public Tnode Create<Tnode, T1, T2, T3, T4>(T1 t1, T2 t2, T3 t3, T4 t4) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4>, new()
Parameters
t1T1t2T2t3T3t4T4
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4
Create<Tnode, T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5)
public Tnode Create<Tnode, T1, T2, T3, T4, T5>(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4, T5>, new()
Parameters
t1T1t2T2t3T3t4T4t5T5
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4T5
Create<Tnode, T1, T2, T3, T4, T5, T6>(T1, T2, T3, T4, T5, T6)
public Tnode Create<Tnode, T1, T2, T3, T4, T5, T6>(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) where Tnode : EcsNode, IInitializer<T1, T2, T3, T4, T5, T6>, new()
Parameters
t1T1t2T2t3T3t4T4t5T5t6T6
Returns
- Tnode
Type Parameters
TnodeT1T2T3T4T5T6
Get(Guid)
Get a service from its GUID.
public EcsNode Get(Guid guid)
Parameters
guidGuid
Returns
- EcsNode
The service object.
Get(Type)
Get a service from its data or service type object.
public EcsNode Get(Type type)
Parameters
typeTypeThe service or system data type.
Returns
- EcsNode
The service object.
GetByData<Tdata>(bool)
public System<Tdata> GetByData<Tdata>(bool rawget = false) where Tdata : struct, ISystemData
Parameters
rawgetbool
Returns
- System<Tdata>
Type Parameters
Tdata
GetTopic(Type)
public TopicBase GetTopic(Type type)
Parameters
typeType
Returns
GetTopic(Type, Guid)
public TopicBase GetTopic(Type type, Guid id)
Parameters
Returns
GetTopic<T>(bool)
public Topic<T> GetTopic<T>(bool create = false)
Parameters
createbool
Returns
- Topic<T>
Type Parameters
T
GetTopic<T>(Guid, bool)
public Topic<T> GetTopic<T>(Guid id, bool create = false)
Parameters
Returns
- Topic<T>
Type Parameters
T
Get<T>()
public T Get<T>() where T : class
Returns
- T
Type Parameters
T
Has(Type)
Check if this ECS has a service.
public bool Has(Type t)
Parameters
tTypeThe service or data type to check.
Returns
- bool
True if the ECS has the service.
Has<T>()
public bool Has<T>()
Returns
Type Parameters
T
TryGet(Guid, out EcsNode?, bool)
public bool TryGet(Guid id, out EcsNode? node, bool rawget = false)
Parameters
Returns
TryGetByData<Tdata>(out System<Tdata>?, bool)
public bool TryGetByData<Tdata>(out System<Tdata>? system, bool rawget = false) where Tdata : struct, ISystemData
Parameters
Returns
Type Parameters
Tdata
TryGet<T>(Guid, out T?, bool)
public bool TryGet<T>(Guid id, out T? node, bool rawget = false) where T : EcsNode
Parameters
Returns
Type Parameters
T
TryGet<T>(out T?, bool)
public bool TryGet<T>(out T? node, bool rawget = false) where T : EcsNode
Parameters
nodeTrawgetbool
Returns
Type Parameters
T
Events
NotificationBroadcast
Raised for all broadcast notifications.
public event NotifyAnyHandler? NotificationBroadcast
Event Type
NotificationUnicast
Raised for all unicast notifications.
public event NotifyAnyHandler? NotificationUnicast
Event Type
TopicCreated
public event EventHandler<TopicBase>? TopicCreated