|
Midnight Blue Game and Engine
|
Performs logic on an entity. More...


Public Member Functions | |
| EntitySystem (params Type[] components) | |
| Initializes a new instance of the T:MB2D.EntityComponent.EntitySystem class. Checks if the passed in types are valid components and if not, all components are deregistered leaving a system that knows about nothing and can't operate on any entities. More... | |
| void | Run () |
| Runs this systems Process() method on all entities More... | |
| void | AssociateEntity (Entity entity) |
| Associates a new entity with this system. More... | |
| void | RemoveAssociation (Entity entity) |
| Decouples an association with this system More... | |
Protected Member Functions | |
| virtual void | ProcessingLoop () |
| Executes Process() on all AssociatedEntities. More... | |
| void | Destroy (Entity entity) |
| Adds the specific entity to the destroy list to be cleaned up the next time a system is run More... | |
| virtual void | PreProcess () |
| Used to setup any data needed before processing all entities, such as sorting a list ahead of time More... | |
| virtual void | PostProcess () |
| Used to cleanup or execute any teardown logic needed More... | |
| virtual void | PostAssociate (Entity entity) |
| Used to define any logic or extra data needed after an entity is associated with the system. More... | |
| abstract void | Process (Entity entity) |
| Executes this systems logic on a single entity More... | |
Protected Attributes | |
| Dictionary< ulong, Entity > | _idEntityMap |
| All GUID's of entities this system knows about More... | |
| EntityAssociation | _associationType |
| Defines if this system should be Loose or Strict More... | |
Properties | |
| List< Entity > | AssociatedEntities [get, set] |
| Gets or sets the associated entities list. More... | |
| List< Type > | ValidComponents [get] |
| Gets the list of components this system is interested in More... | |
| ulong | ID [get, set] |
| Gets or sets this systems ID mask More... | |
| List< Entity > | DestroyList [get] |
| Gets the destroy list. More... | |
| EntityAssociation | Association [get] |
| Gets the systems association level. More... | |
Performs logic on an entity.
|
inline |
Initializes a new instance of the T:MB2D.EntityComponent.EntitySystem class. Checks if the passed in types are valid components and if not, all components are deregistered leaving a system that knows about nothing and can't operate on any entities.
| components | Components this system is interested in |
|
inline |
Associates a new entity with this system.
| entity | Entity to associate |
|
inlineprotected |
Adds the specific entity to the destroy list to be cleaned up the next time a system is run
| entity | Entity to destroy. |
|
inlineprotectedvirtual |
Used to define any logic or extra data needed after an entity is associated with the system.
| entity | Entity. |
|
inlineprotectedvirtual |
Used to cleanup or execute any teardown logic needed
|
inlineprotectedvirtual |
Used to setup any data needed before processing all entities, such as sorting a list ahead of time
Reimplemented in MB2D.EntityComponent.CollisionSystem, MidnightBlue.GalaxyRenderSystem, and MB2D.EntityComponent.RenderSystem.
|
protectedpure virtual |
Executes this systems logic on a single entity
| entity | Entity to operate on |
Implemented in MB2D.EntityComponent.CollisionSystem, MidnightBlue.GalaxyRenderSystem, MB2D.EntityComponent.RenderSystem, MB2D.Testing.TestSystem2, MB2D.EntityComponent.PhysicsSystem, MB2D.Testing.TestSystem, MidnightBlue.ShipInputSystem, MB2D.EntityComponent.InputSystem, MB2D.EntityComponent.MovementSystem, MB2D.EntityComponent.DepthSystem, and MB2D.Testing.CollisionRenderSystem.
|
inlineprotectedvirtual |
Executes Process() on all AssociatedEntities.
Reimplemented in MB2D.EntityComponent.CollisionSystem.
|
inline |
Decouples an association with this system
| entity | Entity to decouple. |
|
inline |
|
protected |
Defines if this system should be Loose or Strict
|
protected |
All GUID's of entities this system knows about
|
getset |
Gets or sets the associated entities list.
The associated entities.
|
get |
Gets the systems association level.
The association level.
|
get |
Gets the destroy list.
The destroy list.
|
getset |
Gets or sets this systems ID mask
The identifier mask.
|
get |
Gets the list of components this system is interested in
The valid components.
1.8.12