package lnx; import iron.object.Object; import iron.Scene; import leenkx.trait.physics.PhysicsWorld; import leenkx.trait.physics.RigidBody; class Trigger extends iron.Trait { var rb:RigidBody; var physics:leenkx.trait.physics.PhysicsWorld; var obj:Object; public function new() { super(); notifyOnInit(function() { rb = object.getTrait(RigidBody); physics = leenkx.trait.physics.PhysicsWorld.active; obj = Scene.active.getChild("Icosphere"); }); notifyOnUpdate(function() { // TODO: replace with notifyOnCollisionEnter or notifyOnTriggerEnter once implemented // ref: https://github.com/leenkx3d/leenkx/issues/331 var rbs = physics.getContacts(object.getTrait(RigidBody)); var visible = false; if (rbs != null) { for (rb in rbs){ if(rb.object.name == "Cube"){ visible = true; } } } obj.visible = visible; }); } }