mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 09:08:47 +02:00
ignore web entities
This commit is contained in:
parent
296ea8a5af
commit
a47a1c03e6
1 changed files with 30 additions and 20 deletions
|
@ -20,7 +20,7 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
this.hand = hand;
|
this.hand = hand;
|
||||||
this.otherHand = this.hand === RIGHT_HAND ? LEFT_HAND : RIGHT_HAND;
|
this.otherHand = this.hand === RIGHT_HAND ? LEFT_HAND : RIGHT_HAND;
|
||||||
this.running = false;
|
this.running = false;
|
||||||
this.ignoredOverlays = [];
|
this.ignoredObjects = [];
|
||||||
|
|
||||||
this.parameters = makeDispatcherModuleParameters(
|
this.parameters = makeDispatcherModuleParameters(
|
||||||
160,
|
160,
|
||||||
|
@ -68,35 +68,43 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
return this.hand === RIGHT_HAND ? leftOverlayLaserInput : rightOverlayLaserInput;
|
return this.hand === RIGHT_HAND ? leftOverlayLaserInput : rightOverlayLaserInput;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.addOverlayToIgnoreList = function(controllerData) {
|
this.addObjectToIgnoreList = function(controllerData) {
|
||||||
if (Window.interstitialModeEnabled && !Window.isPhysicsEnabled()) {
|
if (Window.interstitialModeEnabled && !Window.isPhysicsEnabled()) {
|
||||||
var intersection = controllerData.rayPicks[this.hand];
|
var intersection = controllerData.rayPicks[this.hand];
|
||||||
var objectID = intersection.objectID;
|
var objectID = intersection.objectID;
|
||||||
|
|
||||||
if (intersection.type === Picks.INTERSECTED_OVERLAY) {
|
if (intersection.type === Picks.INTERSECTED_OVERLAY) {
|
||||||
var overlayIndex = this.ignoredOverlays.indexOf(objectID);
|
var overlayIndex = this.ignoredObjects.indexOf(objectID);
|
||||||
|
|
||||||
if (overlayIndex === -1) {
|
var overlayName = Overlays.getProperty(objectID, "name");
|
||||||
var overlayName = Overlays.getProperty(objectID, "name");
|
if (overlayName !== "Loading-Destination-Card-Text" && overlayName !== "Loading-Destination-Card-GoTo-Image" &&
|
||||||
if (overlayName !== "Loading-Destination-Card-Text" && overlayName !== "Loading-Destination-Card-GoTo-Image" &&
|
overlayName !== "Loading-Destination-Card-GoTo-Image-Hover") {
|
||||||
overlayName !== "Loading-Destination-Card-GoTo-Image-Hover") {
|
var data = {
|
||||||
var data = {
|
action: 'add',
|
||||||
action: 'add',
|
id: objectID
|
||||||
id: objectID
|
};
|
||||||
};
|
Messages.sendMessage('Hifi-Hand-RayPick-Blacklist', JSON.stringify(data));
|
||||||
Messages.sendMessage('Hifi-Hand-RayPick-Blacklist', JSON.stringify(data));
|
this.ignoredObjects.push(objectID);
|
||||||
this.ignoredOverlays.push(objectID);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else if (intersection.type === Picks.INTERSECTED_ENTITY) {
|
||||||
|
var entityIndex = this.ignoredObjects.indexOf(objectID);
|
||||||
|
var data = {
|
||||||
|
action: 'add',
|
||||||
|
id: objectID
|
||||||
|
};
|
||||||
|
print("ignoreing entity " + entityIndex);
|
||||||
|
Messages.sendMessage('Hifi-Hand-RayPick-Blacklist', JSON.stringify(data));
|
||||||
|
this.ignoredObjects.push(objectID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.restoreIgnoredOverlays = function() {
|
this.restoreIgnoredObjects = function() {
|
||||||
for (var index = 0; index < this.ignoredOverlays.length; index++) {
|
for (var index = 0; index < this.ignoredObjects.length; index++) {
|
||||||
|
print("removing");
|
||||||
var data = {
|
var data = {
|
||||||
action: 'remove',
|
action: 'remove',
|
||||||
id: this.ignoredOverlays[index]
|
id: this.ignoredObjects[index]
|
||||||
};
|
};
|
||||||
Messages.sendMessage('Hifi-Hand-RayPick-Blacklist', JSON.stringify(data));
|
Messages.sendMessage('Hifi-Hand-RayPick-Blacklist', JSON.stringify(data));
|
||||||
}
|
}
|
||||||
|
@ -168,6 +176,10 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
return makeRunningValues(true, [], []);
|
return makeRunningValues(true, [], []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Window.interstitialModeEnabled && Window.isPhysicsEnabled()) {
|
||||||
|
this.restoreIgnoredObjects();
|
||||||
|
}
|
||||||
return makeRunningValues(false, [], []);
|
return makeRunningValues(false, [], []);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -180,7 +192,7 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
var allowThisModule = !otherModuleRunning && !grabModuleNeedsToRun;
|
var allowThisModule = !otherModuleRunning && !grabModuleNeedsToRun;
|
||||||
var isTriggerPressed = controllerData.triggerValues[this.hand] > TRIGGER_OFF_VALUE;
|
var isTriggerPressed = controllerData.triggerValues[this.hand] > TRIGGER_OFF_VALUE;
|
||||||
var laserOn = isTriggerPressed || this.parameters.handLaser.allwaysOn;
|
var laserOn = isTriggerPressed || this.parameters.handLaser.allwaysOn;
|
||||||
this.addOverlayToIgnoreList(controllerData);
|
this.addObjectToIgnoreList(controllerData);
|
||||||
if (allowThisModule) {
|
if (allowThisModule) {
|
||||||
if (isTriggerPressed && !this.isPointingAtTriggerable(controllerData, isTriggerPressed, true)) {
|
if (isTriggerPressed && !this.isPointingAtTriggerable(controllerData, isTriggerPressed, true)) {
|
||||||
// if trigger is down + not pointing at a web entity, keep running web surface laser
|
// if trigger is down + not pointing at a web entity, keep running web surface laser
|
||||||
|
@ -194,7 +206,6 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
this.deleteContextOverlay();
|
this.deleteContextOverlay();
|
||||||
this.running = false;
|
this.running = false;
|
||||||
this.dominantHandOverride = false;
|
this.dominantHandOverride = false;
|
||||||
this.restoreIgnoredOverlays();
|
|
||||||
return makeRunningValues(false, [], []);
|
return makeRunningValues(false, [], []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +213,6 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
this.deleteContextOverlay();
|
this.deleteContextOverlay();
|
||||||
this.running = false;
|
this.running = false;
|
||||||
this.dominantHandOverride = false;
|
this.dominantHandOverride = false;
|
||||||
this.restoreIgnoredOverlays();
|
|
||||||
return makeRunningValues(false, [], []);
|
return makeRunningValues(false, [], []);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue