filter only colliding and pushable entities in collision test
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
f6ffa422d9
commit
c568a8e49a
@ -139,11 +139,17 @@ export class Grid extends System {
|
||||
);
|
||||
|
||||
if (collidingEntities.length > 0) {
|
||||
// i.e. key going into a door or function going into an application
|
||||
// ensure everything that is a "pushable" or "colliding" which will collide with the entity
|
||||
// can actually continue moving in the direction
|
||||
const allEntitiesInPreviousCellCanCollide = Array.from(
|
||||
this.grid[currentPosition.y][currentPosition.x],
|
||||
)
|
||||
.map((id) => game.getEntity(id)!)
|
||||
.filter(
|
||||
(entity) =>
|
||||
entity.hasComponent(ComponentNames.Colliding) ||
|
||||
entity.hasComponent(ComponentNames.Pushable),
|
||||
)
|
||||
.every((entity) =>
|
||||
collidingEntities.every((collidingEntity) =>
|
||||
Collision.canCollide(entity.name, collidingEntity.name),
|
||||
|
Loading…
Reference in New Issue
Block a user