Skip to content

CollideSystem: onCollideLeave wont trigger if entity gets removed #2788

@araqs11

Description

@araqs11

Das CollideSystem triggert das onCollideLeave einer Entity nicht, wenn diese aus dem Game via Game.remove entfernt wird.
Das hatte bei den Portalen im AdvancedDungeon zu paar Problemen geführt.
Umgangen sind wir diese immer indem wir die size des Colliders auf (0,0) gesetzt haben und die Entity dann nach z.B. 100ms entfernt haben.

Ich denke das CollideSystem könnte einfach für die Entity die gelöscht wird, wenn sie eine Collision hat, das onCollideLeave mit der Direction NONE
aufrufen.

@AMatutat hat glaube auch noch gesehen dass die Map<CollisionKey, CollisionData> collisions nie geleert wird wenn man von einen Level zum nächsten geht. Müsste ich nochmal genauer nachschauen ob das wirklich der Fall ist oder ob das irgendwo sonst im Dungeon passiert.
Ich weiß auch nicht ob das auch mit in diesem Issue passt oder ob man dafür evnt ein extra Issue machen sollte(?)

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions