Trigger volumes
Creating trigger volumes
TriggerVolumeActor
TriggerVolumeComponent
Handling trigger volume events
@Actor()
class Character extends BaseActor {
private physicsSystem = inject(PhysicsSystem)
private world = inject(World)
collectedCoins: number = 0
onInit() {
this.physicsSystem.onBeginOverlapWithActorType(this, Coin)
.subscribe(coin => {
this.collectedCoins++
world.remove(coin)
})
}
}
@Actor()
class Coin extends BaseActor {
private triggerVolume = attach(TriggerVolumeComponent, {
dimensions: new Vector3(1, 1, 1)
})
}