content/hifi-content/lincoln/drum/drumEntityScript.js
2022-02-14 02:04:11 +01:00

104 lines
No EOL
3.2 KiB
JavaScript

(function() {
var _this = this;
var leftDrumStick = undefined;
var rightDrumStick = undefined;
var SCRIPT_URL = 'https://hifi-content.s3.amazonaws.com/lincoln/stickScript.js';
_this.enterEntity = function(entityID) {
//print('Inside stick entity: ' + entityID)
print("Inside!")
var stickPosition = Vec3.sum(MyAvatar.position, Vec3.multiply(3, Quat.getFront(Camera.getOrientation())));
leftDrumStick = Entities.addEntity({
position: stickPosition,
dimensions: {
x: 0.022800000384449959,
y: 0.72541505098342896,
z: 0.022800000384449959
},
dynamic: true,
modelURL: "https://hifi-content.s3.amazonaws.com/lincoln/drumstick-single.fbx",
damping: 0.1,
name: "Drum Stick - Left",
registrationPoint: {
x: 0.5,
y: 0,
z: 0.5
},
shapeType: "simple-hull",
type: "Model",
script: SCRIPT_URL,
userData: JSON.stringify({
grabbableKey: {
invertSolidWhileHeld: true
},
wearable: {
joints: {
LeftHand: [
{x: 0, y: 0.0, z: 0.02 },
Quat.fromVec3Degrees({x: 0, y: 0, z: 0})
]
}
}
})
});
Messages.sendLocalMessage('Hifi-Hand-Grab', JSON.stringify({hand: 'left', entityID: leftDrumStick}));
rightDrumStick = Entities.addEntity({
position: stickPosition,
dimensions: {
x: 0.022800000384449959,
y: 0.72541505098342896,
z: 0.022800000384449959
},
dynamic: true,
modelURL: "https://hifi-content.s3.amazonaws.com/lincoln/drumstick-single.fbx",
damping: 0.1,
name: "Drum Stick - Right",
registrationPoint: {
x: 0.5,
y: 0,
z: 0.5
},
shapeType: "simple-hull",
type: "Model",
script: SCRIPT_URL,
userData: JSON.stringify({
grabbableKey: {
invertSolidWhileHeld: true
},
wearable: {
joints: {
RightHand: [
{x: 0, y: 0.0, z: 0.02 },
Quat.fromVec3Degrees({x: 0, y: 0, z: 0})
]
}
}
})
});
Messages.sendLocalMessage('Hifi-Hand-Grab', JSON.stringify({hand: 'right', entityID: rightDrumStick}));
};
_this.leaveEntity = function(entityID) {
print("Leaving Entity")
if(leftDrumStick !== undefined) {
Entities.deleteEntity(leftDrumStick);
leftDrumStick = undefined;
}
if(rightDrumStick !== undefined) {
Entities.deleteEntity(rightDrumStick);
rightDrumStick = undefined;
}
}
// _this.preload
_this.unload = _this.leaveEntity;
});