Midnight Blue Game and Engine
|
Checks collisions. Uses a spatial indexing grid for broad-phase collision checking and AABB checks for narrow phase More...
Public Member Functions | |
CollisionSystem () | |
Initializes a new instance of the T:MB2D.EntityComponent.CollisionSystem class. More... | |
void | ResetGrid (int xMin, int xMax, int yMin, int yMax, int cellSize) |
Resets the grid position in the world. More... | |
void | SetTileMap (TileMap tileMap) |
Sets the current tile map to check for collisions More... | |
Public Member Functions inherited from MB2D.EntityComponent.EntitySystem | |
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 | |
override void | PreProcess () |
Clears the collision grid and inserts all entities before checking collisions More... | |
override void | ProcessingLoop () |
Override. Only processes entities with movement components. Still considers static entities, but only as possible neighbours. More... | |
override void | Process (Entity entity) |
Checks all collisions within the entities known collision cells More... | |
Protected Member Functions inherited from MB2D.EntityComponent.EntitySystem | |
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 | 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... | |
Properties | |
CollisionMap | CurrentMap [get] |
Gets the current collision map. More... | |
int | NumberOfChecks [get] |
Gets the number of collision checks made last frame. Used for debugging. More... | |
Properties inherited from MB2D.EntityComponent.EntitySystem | |
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... | |
Additional Inherited Members | |
Protected Attributes inherited from MB2D.EntityComponent.EntitySystem | |
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... | |
Checks collisions. Uses a spatial indexing grid for broad-phase collision checking and AABB checks for narrow phase
|
inline |
Initializes a new instance of the T:MB2D.EntityComponent.CollisionSystem class.
|
inlineprotectedvirtual |
Clears the collision grid and inserts all entities before checking collisions
Reimplemented from MB2D.EntityComponent.EntitySystem.
|
inlineprotectedvirtual |
Checks all collisions within the entities known collision cells
entity | Entity to check. |
Implements MB2D.EntityComponent.EntitySystem.
|
inlineprotectedvirtual |
Override. Only processes entities with movement components. Still considers static entities, but only as possible neighbours.
Reimplemented from MB2D.EntityComponent.EntitySystem.
|
inline |
Resets the grid position in the world.
xMin | The grids left most x coordinate. |
xMax | Right most x coordinae. |
yMin | Top most y coordinate. |
yMax | Bottom most y coordinate. |
cellSize | The size of each cell in the grid. |
|
inline |
Sets the current tile map to check for collisions
tileMap | Tile map. |
|
get |
Gets the current collision map.
The current map.
|
get |
Gets the number of collision checks made last frame. Used for debugging.
The number of collision checks.