code cleanup to use web laser if laser is not pointing at grabbable entity

This commit is contained in:
Wayne Chen 2018-07-17 16:44:49 -07:00
parent eb7bde1bfc
commit 30ca5a8cbd

View file

@ -70,19 +70,9 @@ Script.include("/~/system/libraries/controllers.js");
var entityType = entityProperty.type;
var isGrabbable = entityIsGrabbable(entityProperty);
return (isGrabbable && triggerPressed && entityType !== "Web");
} else if (intersection.type === Picks.INTERSECTED_OVERLAY) {
var objectID = intersection.objectID;
if ((HMD.tabletID && objectID === HMD.tabletID) ||
(HMD.tabletScreenID && objectID === HMD.tabletScreenID) ||
(HMD.homeButtonID && objectID === HMD.homeButtonID)) {
return true;
} else {
var overlayType = Overlays.getOverlayType(objectID);
return overlayType === "web3d" || triggerPressed;
}
}
return false;
}
};
this.isPointingAtTriggerable = function(controllerData, triggerPressed) {
// allow pointing at tablet, unlocked web entities, or web overlays automatically without pressing trigger,
@ -137,8 +127,8 @@ Script.include("/~/system/libraries/controllers.js");
var isTriggerPressed = controllerData.triggerValues[this.hand] > TRIGGER_OFF_VALUE &&
controllerData.triggerValues[this.otherHand] <= TRIGGER_OFF_VALUE;
var allowThisModule = !otherModuleRunning || isTriggerPressed;
if (allowThisModule && this.isPointingAtTriggerable(controllerData, isTriggerPressed)) {
//this.isPointingAtGrabbableEntity(controllerData, isTriggerPressed)) {
if (allowThisModule && this.isPointingAtTriggerable(controllerData, isTriggerPressed) &&
!this.isPointingAtGrabbableEntity(controllerData, isTriggerPressed)) {
this.updateAllwaysOn();
if (isTriggerPressed) {
this.dominantHandOverride = true; // Override dominant hand.
@ -160,7 +150,7 @@ Script.include("/~/system/libraries/controllers.js");
var isTriggerPressed = controllerData.triggerValues[this.hand] > TRIGGER_OFF_VALUE;
var laserOn = isTriggerPressed || this.parameters.handLaser.allwaysOn;
if (allowThisModule && (laserOn && this.isPointingAtTriggerable(controllerData, isTriggerPressed)) &&
this.isPointingAtGrabbableEntity(controllerData, isTriggerPressed)) {
!this.isPointingAtGrabbableEntity(controllerData, isTriggerPressed)) {
this.running = true;
return makeRunningValues(true, [], []);
}