content/hifi-content/james/whiteboard/swiper.js
2022-02-13 23:57:50 +01:00

63 lines
No EOL
1.9 KiB
JavaScript

// Created by James B. Pollack @imgntn 6/8/2016
// Copyright 2016 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
//
(function() {
var _this;
Swiper = function() {
_this = this;
}
Swiper.prototype = {
busy: false,
preload: function(entityID) {
this.entityID = entityID;
print('swiper preload, should connect update loop')
Script.update.connect(this.update);
},
clickReleaseOnEntity: function() {
this.createSupplies();
},
update: function() {
if (_this.busy === true) {
return;
}
var position = Entities.getEntityProperties(_this.entityID).position;
var TRIGGER_THRESHOLD = 0.11;
var leftHandPosition = MyAvatar.getLeftPalmPosition();
var rightHandPosition = MyAvatar.getRightPalmPosition();
var leftDistance = Vec3.distance(leftHandPosition, position)
var rightDistance = Vec3.distance(rightHandPosition, position)
if (rightDistance < TRIGGER_THRESHOLD || leftDistance < TRIGGER_THRESHOLD) {
_this.createSupplies();
_this.busy = true;
Script.setTimeout(function() {
_this.busy = false;
}, 2000)
}
},
createSupplies: function() {
var myProperties = Entities.getEntityProperties(this.entityID);
Entities.callEntityMethod(myProperties.parentID, "createMarkers");
Entities.callEntityMethod(myProperties.parentID, "createEraser");
},
unload: function() {
Script.update.disconnect(this.update);
}
}
return new Swiper
})