Created
March 26, 2020 19:25
-
-
Save sorskoot/3103b0dc6953bfeb112b01016e6a6a39 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Babylon Mesh Component Template */ | |
module PROJECT { | |
export class Shoot extends BABYLON.MeshComponent { | |
distance: number; | |
public constructor(owner: BABYLON.AbstractMesh, scene: BABYLON.Scene, tick: boolean = true, propertyBag: any = {}) { | |
super(owner, scene, tick, propertyBag); | |
} | |
protected ready(): void { | |
// Scene execute when ready | |
} | |
protected start(): void { | |
this.distance = this.getProperty("distance"); | |
this.manager.webvr.onControllerMeshLoadedObservable.add( | |
(eventData, eventState) => { | |
eventData.onTriggerStateChangedObservable.add( | |
(buttonData, buttonState) => { | |
if (buttonData.pressed && buttonData.value === 1) { | |
let ray = eventData.getForwardRay(this.distance); | |
//BABYLON.RayHelper.CreateAndShow(ray, this.scene, BABYLON.Color3.Red()) | |
let zombies = this.scene.getMeshesByTags("Zombie"); | |
let picked = ray.intersectsMeshes(zombies); | |
for(let i =0;i<picked.length;i++){ | |
this.manager.safeDestroy(picked[i].pickedMesh); | |
} | |
} | |
} | |
) | |
} | |
) | |
} | |
protected update(): void { | |
// Update render loop function | |
} | |
protected after(): void { | |
// After render loop function | |
} | |
protected destroy(): void { | |
// Destroy component function | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment