content/hifi-content/rebecca/LedWorld/BallPit/ferrisWheel.js
2022-02-14 02:04:11 +01:00

54 lines
No EOL
2.1 KiB
JavaScript

(function () {
print("starting ferris wheel script");
var UPDATE_POSITION_INTERVAL_MS=1000/90;
var ridingFerrisWheel = false;
var interval;
var updateToggle = function(){
if (ridingFerrisWheel){
ridingFerrisWheel = false;
} else {
ridingFerrisWheel = true;
}
};
this.enterEntity=function(entityID){
print("entered ferris wheel zone");
var bench;
if (ridingFerrisWheel) {
print("exiting ferris wheel");
Entities.editEntity(bench,{visible:true});
Script.clearInterval(interval);
updateToggle();
} else {
print("entering ferris wheel");
// find nearest car
var nearby = Entities.findEntities(MyAvatar.position, 5);
nearby.forEach(function(element) {
var properties = Entities.getEntityProperties(element);
if (properties.name.indexOf("Ferris Wheel Seat") !== -1) {
bench = element;
Entities.editEntity(element,{visible:false});
print("found a seat");
interval = Script.setInterval(function() {
var nextPosition = Entities.getEntityProperties(element, 'position').position;
if (Vec3.distance(MyAvatar.position, nextPosition) < 5.0) {
MyAvatar.position = nextPosition;
} else {
if (interval){
Script.clearInterval(interval);
updateToggle();
Entities.editEntity(element,{visible:true});
}
}
// MyAvatar.position = Entities.getEntityProperties(element,'position').position;
}, UPDATE_POSITION_INTERVAL_MS);
updateToggle();
return;
}
}, this);
}
};
});