Method GetOrCreateSystem
GetOrCreateSystem<T>(World)
Retrieve the handle for an instance of a system of type T
from the current World. If the system
does not exist in this World, it will first be created.
Declaration
public static SystemHandle GetOrCreateSystem<T>(this World self) where T : unmanaged, ISystem
Parameters
Type | Name | Description |
---|---|---|
World | self | The World |
Returns
Type | Description |
---|---|
SystemHandle | The instance's handle of system type |
Type Parameters
Name | Description |
---|---|
T | The system type |
Remarks
Important: This method creates a sync point if a system is created, which means that the EntityManager waits for all currently running Jobs to complete before creating the system, and no additional Jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework may not be able to make use of the processing power of all available cores.
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown if the system type |
GetOrCreateSystem(World, Type)
Obsolete. Use GetOrCreateSystem(Type) instead.
Declaration
[Obsolete("Use World.GetOrCreateSystem instead")]
public static SystemHandle GetOrCreateSystem(World self, Type unmanagedType)
Parameters
Type | Name | Description |
---|---|---|
World | self | The World |
Type | unmanagedType | The type. |
Returns
Type | Description |
---|---|
SystemHandle |