Hopefully I’m not doing something wrong, but what I noticed is that NodeCollision event only fires once for each node, even if it collides with more than 1 other node.
In my case I’m shooting a projectile which is a trigger body.
On NodeCollision if the other node is the shooter of the projectile the collision is skipped, so collision with the shooter is avoided.
I noticed that if the player shoots a projectile straight down, it won’t collide with the floor until it’s no longer in contact with the player.
That causes bugs for example with explosive projectiles that need to make sure they have line of sight with damageable objects because it will penetrate into the ground.
Right now my workaround is doing GetRigidBodies(projectile_body) when colliding with the shooter, to check if there’s any collision with other bodies, which is re-testing for collisions.
An elegant solution would be to have all the collisions available, either via multiple NodeCollision events, or an event that lists all the nodes.
The most elegant solution is to completely ignore collision between the shooter and the projectile (layers aren’t suitable because there could be many different shooters & projectiles).