mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 20:48:56 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into relaxDeadlockWatchdog
This commit is contained in:
commit
af4f51ecfb
19 changed files with 102 additions and 43 deletions
|
@ -199,7 +199,7 @@ Rectangle {
|
||||||
var SHAPE_TYPE_BOX = 4;
|
var SHAPE_TYPE_BOX = 4;
|
||||||
var SHAPE_TYPE_SPHERE = 5;
|
var SHAPE_TYPE_SPHERE = 5;
|
||||||
|
|
||||||
var SHAPE_TYPES = [];ww
|
var SHAPE_TYPES = [];
|
||||||
SHAPE_TYPES[SHAPE_TYPE_NONE] = "No Collision";
|
SHAPE_TYPES[SHAPE_TYPE_NONE] = "No Collision";
|
||||||
SHAPE_TYPES[SHAPE_TYPE_SIMPLE_HULL] = "Basic - Whole model";
|
SHAPE_TYPES[SHAPE_TYPE_SIMPLE_HULL] = "Basic - Whole model";
|
||||||
SHAPE_TYPES[SHAPE_TYPE_SIMPLE_COMPOUND] = "Good - Sub-meshes";
|
SHAPE_TYPES[SHAPE_TYPE_SIMPLE_COMPOUND] = "Good - Sub-meshes";
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import QtQuick 2.5
|
import QtQuick 2.5
|
||||||
import QtQuick.Controls 1.4
|
import QtQuick.Controls 1.4
|
||||||
|
import QtQuick.Controls 2.2 // Need both for short-term fix
|
||||||
import QtWebEngine 1.1
|
import QtWebEngine 1.1
|
||||||
import QtWebChannel 1.0
|
import QtWebChannel 1.0
|
||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
|
@ -10,6 +11,7 @@ import "../../controls-uit" as HifiControls
|
||||||
import "../../styles-uit"
|
import "../../styles-uit"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TabView {
|
TabView {
|
||||||
id: editTabView
|
id: editTabView
|
||||||
// anchors.fill: parent
|
// anchors.fill: parent
|
||||||
|
@ -23,8 +25,27 @@ TabView {
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
color: "#404040"
|
color: "#404040"
|
||||||
|
id: container
|
||||||
|
|
||||||
|
Flickable {
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
contentHeight: createEntitiesFlow.height + importButton.height + assetServerButton.height +
|
||||||
|
header.anchors.topMargin + createEntitiesFlow.anchors.topMargin +
|
||||||
|
assetServerButton.anchors.topMargin + importButton.anchors.topMargin
|
||||||
|
contentWidth: width
|
||||||
|
|
||||||
|
ScrollBar.vertical : ScrollBar {
|
||||||
|
visible: parent.contentHeight > parent.height
|
||||||
|
width: 20
|
||||||
|
background: Rectangle {
|
||||||
|
color: hifi.colors.tableScrollBackgroundDark
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
|
id: header
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
text: "Choose an Entity Type to Create:"
|
text: "Choose an Entity Type to Create:"
|
||||||
font.pixelSize: 14
|
font.pixelSize: 14
|
||||||
|
@ -176,6 +197,7 @@ TabView {
|
||||||
}
|
}
|
||||||
|
|
||||||
HifiControls.Button {
|
HifiControls.Button {
|
||||||
|
id: importButton
|
||||||
text: "Import Entities (.json)"
|
text: "Import Entities (.json)"
|
||||||
color: hifi.buttons.black
|
color: hifi.buttons.black
|
||||||
colorScheme: hifi.colorSchemes.dark
|
colorScheme: hifi.colorSchemes.dark
|
||||||
|
@ -192,6 +214,7 @@ TabView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} // Flickable
|
||||||
}
|
}
|
||||||
|
|
||||||
Tab {
|
Tab {
|
||||||
|
|
|
@ -42,8 +42,9 @@ function onClicked() {
|
||||||
// for toolbar-mode: go back to home screen, this will close the window.
|
// for toolbar-mode: go back to home screen, this will close the window.
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
} else {
|
} else {
|
||||||
var entity = HMD.tabletID;
|
if (HMD.tabletID) {
|
||||||
Entities.editEntity(entity, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
Entities.editEntity(HMD.tabletID, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
||||||
|
}
|
||||||
tablet.loadQMLSource(AUDIO_QML_SOURCE);
|
tablet.loadQMLSource(AUDIO_QML_SOURCE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setIgnorePointerItems = function() {
|
this.setIgnorePointerItems = function() {
|
||||||
if (HMD.tabletID !== this.tabletID) {
|
if (HMD.tabletID && HMD.tabletID !== this.tabletID) {
|
||||||
this.tabletID = HMD.tabletID;
|
this.tabletID = HMD.tabletID;
|
||||||
Pointers.setIgnoreItems(_this.leftPointer, _this.blacklist);
|
Pointers.setIgnoreItems(_this.leftPointer, _this.blacklist);
|
||||||
Pointers.setIgnoreItems(_this.rightPointer, _this.blacklist);
|
Pointers.setIgnoreItems(_this.rightPointer, _this.blacklist);
|
||||||
|
@ -479,7 +479,7 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
function mouseReleaseOnOverlay(overlayID, event) {
|
function mouseReleaseOnOverlay(overlayID, event) {
|
||||||
if (overlayID === HMD.homeButtonID && event.button === "Primary") {
|
if (HMD.homeButtonID && overlayID === HMD.homeButtonID && event.button === "Primary") {
|
||||||
Messages.sendLocalMessage("home", overlayID);
|
Messages.sendLocalMessage("home", overlayID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ Script.include("/~/system/libraries/utils.js");
|
||||||
|
|
||||||
this.nearTablet = function(overlays) {
|
this.nearTablet = function(overlays) {
|
||||||
for (var i = 0; i < overlays.length; i++) {
|
for (var i = 0; i < overlays.length; i++) {
|
||||||
if (overlays[i] === HMD.tabletID) {
|
if (HMD.tabletID && overlays[i] === HMD.tabletID) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,8 @@ Script.include("/~/system/libraries/utils.js");
|
||||||
};
|
};
|
||||||
|
|
||||||
this.pointingAtTablet = function(objectID) {
|
this.pointingAtTablet = function(objectID) {
|
||||||
return objectID === HMD.tabletScreenID || objectID === HMD.homeButtonID;
|
return (HMD.tabletScreenID && objectID === HMD.tabletScreenID)
|
||||||
|
|| (HMD.homeButtonID && objectID === HMD.homeButtonID);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.sendPickData = function(controllerData) {
|
this.sendPickData = function(controllerData) {
|
||||||
|
@ -106,7 +107,7 @@ Script.include("/~/system/libraries/utils.js");
|
||||||
if (nearOverlay) {
|
if (nearOverlay) {
|
||||||
var nearOverlayReady = nearOverlay.isReady(controllerData);
|
var nearOverlayReady = nearOverlay.isReady(controllerData);
|
||||||
|
|
||||||
if (nearOverlayReady.active && nearOverlay.grabbedThingID === HMD.tabletID) {
|
if (nearOverlayReady.active && HMD.tabletID && nearOverlay.grabbedThingID === HMD.tabletID) {
|
||||||
return this.exitModule();
|
return this.exitModule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,8 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
|
||||||
);
|
);
|
||||||
|
|
||||||
this.pointingAtTablet = function (objectID) {
|
this.pointingAtTablet = function (objectID) {
|
||||||
return objectID === HMD.tabletScreenID || objectID === HMD.homeButtonID;
|
return (HMD.tabletScreenID && objectID === HMD.tabletScreenID)
|
||||||
|
|| (HMD.homeButtonID && objectID === HMD.homeButtonID);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.isReady = function (controllerData) {
|
this.isReady = function (controllerData) {
|
||||||
|
@ -76,7 +77,7 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
|
||||||
: "LeftNearParentingGrabOverlay");
|
: "LeftNearParentingGrabOverlay");
|
||||||
if (nearOverlay) {
|
if (nearOverlay) {
|
||||||
var nearOverlayReady = nearOverlay.isReady(controllerData);
|
var nearOverlayReady = nearOverlay.isReady(controllerData);
|
||||||
if (nearOverlayReady.active && nearOverlay.grabbedThingID === HMD.tabletID) {
|
if (nearOverlayReady.active && HMD.tabletID && nearOverlay.grabbedThingID === HMD.tabletID) {
|
||||||
return makeRunningValues(false, [], []);
|
return makeRunningValues(false, [], []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ Script.include("/~/system/libraries/utils.js");
|
||||||
Overlays.editOverlay(this.grabbedThingID, reparentProps);
|
Overlays.editOverlay(this.grabbedThingID, reparentProps);
|
||||||
|
|
||||||
// resizeTablet to counter adjust offsets to account for change of scale from sensorToWorldMatrix
|
// resizeTablet to counter adjust offsets to account for change of scale from sensorToWorldMatrix
|
||||||
if (this.grabbedThingID === HMD.tabletID) {
|
if (HMD.tabletID && this.grabbedThingID === HMD.tabletID) {
|
||||||
resizeTablet(getTabletWidthFromSettings(), reparentProps.parentJointIndex);
|
resizeTablet(getTabletWidthFromSettings(), reparentProps.parentJointIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ Script.include("/~/system/libraries/utils.js");
|
||||||
});
|
});
|
||||||
|
|
||||||
// resizeTablet to counter adjust offsets to account for change of scale from sensorToWorldMatrix
|
// resizeTablet to counter adjust offsets to account for change of scale from sensorToWorldMatrix
|
||||||
if (this.grabbedThingID === HMD.tabletID) {
|
if (HMD.tabletID && this.grabbedThingID === HMD.tabletID) {
|
||||||
resizeTablet(getTabletWidthFromSettings(), this.previousParentJointIndex[this.grabbedThingID]);
|
resizeTablet(getTabletWidthFromSettings(), this.previousParentJointIndex[this.grabbedThingID]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
var stylusTargetIDs = [];
|
var stylusTargetIDs = [];
|
||||||
for (var index = 0; index < stylusTargets.length; index++) {
|
for (var index = 0; index < stylusTargets.length; index++) {
|
||||||
var stylusTarget = stylusTargets[index];
|
var stylusTarget = stylusTargets[index];
|
||||||
if (stylusTarget.distance <= maxNormalDistance && stylusTarget.id !== HMD.tabletID) {
|
if (stylusTarget.distance <= maxNormalDistance && !(HMD.tabletID && stylusTarget.id === HMD.tabletID)) {
|
||||||
stylusTargetIDs.push(stylusTarget.id);
|
stylusTargetIDs.push(stylusTarget.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
var i, stylusTarget;
|
var i, stylusTarget;
|
||||||
|
|
||||||
for (i = 0; i < candidateOverlays.length; i++) {
|
for (i = 0; i < candidateOverlays.length; i++) {
|
||||||
if (candidateOverlays[i] !== HMD.tabletID &&
|
if (!(HMD.tabletID && candidateOverlays[i] === HMD.tabletID) &&
|
||||||
Overlays.getProperty(candidateOverlays[i], "visible")) {
|
Overlays.getProperty(candidateOverlays[i], "visible")) {
|
||||||
stylusTarget = getOverlayDistance(controllerPosition, candidateOverlays[i]);
|
stylusTarget = getOverlayDistance(controllerPosition, candidateOverlays[i]);
|
||||||
if (stylusTarget) {
|
if (stylusTarget) {
|
||||||
|
|
|
@ -263,7 +263,10 @@ function Grabber() {
|
||||||
filter: Picks.PICK_OVERLAYS,
|
filter: Picks.PICK_OVERLAYS,
|
||||||
enabled: true
|
enabled: true
|
||||||
});
|
});
|
||||||
RayPick.setIncludeItems(this.mouseRayOverlays, [HMD.tabletID, HMD.tabletScreenID, HMD.homeButtonID]);
|
var tabletItems = getMainTabletIDs();
|
||||||
|
if (tabletItems.length > 0) {
|
||||||
|
RayPick.setIncludeItems(this.mouseRayOverlays, tabletItems);
|
||||||
|
}
|
||||||
var renderStates = [{name: "grabbed", end: beacon}];
|
var renderStates = [{name: "grabbed", end: beacon}];
|
||||||
this.mouseRayEntities = Pointers.createPointer(PickType.Ray, {
|
this.mouseRayEntities = Pointers.createPointer(PickType.Ray, {
|
||||||
joint: "Mouse",
|
joint: "Mouse",
|
||||||
|
|
|
@ -31,6 +31,7 @@ Script.include([
|
||||||
"libraries/entityCameraTool.js",
|
"libraries/entityCameraTool.js",
|
||||||
"libraries/gridTool.js",
|
"libraries/gridTool.js",
|
||||||
"libraries/entityList.js",
|
"libraries/entityList.js",
|
||||||
|
"libraries/utils.js",
|
||||||
"particle_explorer/particleExplorerTool.js",
|
"particle_explorer/particleExplorerTool.js",
|
||||||
"libraries/entityIconOverlayManager.js"
|
"libraries/entityIconOverlayManager.js"
|
||||||
]);
|
]);
|
||||||
|
@ -775,8 +776,7 @@ function findClickedEntity(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var pickRay = Camera.computePickRay(event.x, event.y);
|
var pickRay = Camera.computePickRay(event.x, event.y);
|
||||||
|
var overlayResult = Overlays.findRayIntersection(pickRay, true, getMainTabletIDs());
|
||||||
var overlayResult = Overlays.findRayIntersection(pickRay, true, [HMD.tabletID, HMD.tabletScreenID, HMD.homeButtonID]);
|
|
||||||
if (overlayResult.intersects) {
|
if (overlayResult.intersects) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -964,7 +964,7 @@ function mouseReleaseEvent(event) {
|
||||||
|
|
||||||
function wasTabletClicked(event) {
|
function wasTabletClicked(event) {
|
||||||
var rayPick = Camera.computePickRay(event.x, event.y);
|
var rayPick = Camera.computePickRay(event.x, event.y);
|
||||||
var result = Overlays.findRayIntersection(rayPick, true, [HMD.tabletID, HMD.tabletScreenID, HMD.homeButtonID]);
|
var result = Overlays.findRayIntersection(rayPick, true, getMainTabletIDs());
|
||||||
return result.intersects;
|
return result.intersects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -987,7 +987,7 @@ function mouseClickEvent(event) {
|
||||||
toolBar.setActive(true);
|
toolBar.setActive(true);
|
||||||
var pickRay = result.pickRay;
|
var pickRay = result.pickRay;
|
||||||
var foundEntity = result.entityID;
|
var foundEntity = result.entityID;
|
||||||
if (foundEntity === HMD.tabletID) {
|
if (HMD.tabletID && foundEntity === HMD.tabletID) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
properties = Entities.getEntityProperties(foundEntity);
|
properties = Entities.getEntityProperties(foundEntity);
|
||||||
|
|
|
@ -30,9 +30,8 @@
|
||||||
if (onHelpScreen) {
|
if (onHelpScreen) {
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
} else {
|
} else {
|
||||||
var tabletEntity = HMD.tabletID;
|
if (HMD.tabletID) {
|
||||||
if (tabletEntity) {
|
Entities.editEntity(HMD.tabletID, {textures: JSON.stringify({"tex.close" : HOME_BUTTON_TEXTURE})});
|
||||||
Entities.editEntity(tabletEntity, {textures: JSON.stringify({"tex.close" : HOME_BUTTON_TEXTURE})});
|
|
||||||
}
|
}
|
||||||
Menu.triggerOption('Help...');
|
Menu.triggerOption('Help...');
|
||||||
onHelpScreen = true;
|
onHelpScreen = true;
|
||||||
|
|
|
@ -331,7 +331,7 @@ WebTablet.prototype.destroy = function () {
|
||||||
};
|
};
|
||||||
|
|
||||||
WebTablet.prototype.geometryChanged = function (geometry) {
|
WebTablet.prototype.geometryChanged = function (geometry) {
|
||||||
if (!HMD.active) {
|
if (!HMD.active && HMD.tabletID) {
|
||||||
var tabletProperties = {};
|
var tabletProperties = {};
|
||||||
// compute position, rotation & parentJointIndex of the tablet
|
// compute position, rotation & parentJointIndex of the tablet
|
||||||
this.calculateTabletAttachmentProperties(NO_HANDS, false, tabletProperties);
|
this.calculateTabletAttachmentProperties(NO_HANDS, false, tabletProperties);
|
||||||
|
@ -459,6 +459,9 @@ WebTablet.prototype.calculateTabletAttachmentProperties = function (hand, useMou
|
||||||
};
|
};
|
||||||
|
|
||||||
WebTablet.prototype.onHmdChanged = function () {
|
WebTablet.prototype.onHmdChanged = function () {
|
||||||
|
if (!HMD.tabletID) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var tabletProperties = {};
|
var tabletProperties = {};
|
||||||
// compute position, rotation & parentJointIndex of the tablet
|
// compute position, rotation & parentJointIndex of the tablet
|
||||||
this.calculateTabletAttachmentProperties(NO_HANDS, false, tabletProperties);
|
this.calculateTabletAttachmentProperties(NO_HANDS, false, tabletProperties);
|
||||||
|
|
|
@ -21,7 +21,10 @@ SPACE_LOCAL = "local";
|
||||||
SPACE_WORLD = "world";
|
SPACE_WORLD = "world";
|
||||||
HIGHLIGHT_LIST_NAME = "editHandleHighlightList";
|
HIGHLIGHT_LIST_NAME = "editHandleHighlightList";
|
||||||
|
|
||||||
Script.include("./controllers.js");
|
Script.include([
|
||||||
|
"./controllers.js",
|
||||||
|
"./utils.js"
|
||||||
|
]);
|
||||||
|
|
||||||
SelectionManager = (function() {
|
SelectionManager = (function() {
|
||||||
var that = {};
|
var that = {};
|
||||||
|
@ -668,7 +671,7 @@ SelectionDisplay = (function() {
|
||||||
|
|
||||||
var pickRay = generalComputePickRay(event.x, event.y);
|
var pickRay = generalComputePickRay(event.x, event.y);
|
||||||
// TODO_Case6491: Move this out to setup just to make it once
|
// TODO_Case6491: Move this out to setup just to make it once
|
||||||
var interactiveOverlays = [HMD.tabletID, HMD.tabletScreenID, HMD.homeButtonID];
|
var interactiveOverlays = getMainTabletIDs();
|
||||||
for (var key in handleTools) {
|
for (var key in handleTools) {
|
||||||
if (handleTools.hasOwnProperty(key)) {
|
if (handleTools.hasOwnProperty(key)) {
|
||||||
interactiveOverlays.push(key);
|
interactiveOverlays.push(key);
|
||||||
|
@ -681,8 +684,8 @@ SelectionDisplay = (function() {
|
||||||
var results = testRayIntersect(pickRay, interactiveOverlays);
|
var results = testRayIntersect(pickRay, interactiveOverlays);
|
||||||
if (results.intersects) {
|
if (results.intersects) {
|
||||||
var hitOverlayID = results.overlayID;
|
var hitOverlayID = results.overlayID;
|
||||||
if ((hitOverlayID === HMD.tabletID) || (hitOverlayID === HMD.tabletScreenID) ||
|
if ((HMD.tabletID && hitOverlayID === HMD.tabletID) || (HMD.tabletScreenID && hitOverlayID === HMD.tabletScreenID)
|
||||||
(hitOverlayID === HMD.homeButtonID)) {
|
|| (HMD.homeButtonID && hitOverlayID === HMD.homeButtonID)) {
|
||||||
// EARLY EXIT-(mouse clicks on the tablet should override the edit affordances)
|
// EARLY EXIT-(mouse clicks on the tablet should override the edit affordances)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -428,3 +428,17 @@ resizeTablet = function (width, newParentJointIndex, sensorToWorldScaleOverride)
|
||||||
dimensions: { x: homeButtonDim, y: homeButtonDim, z: homeButtonDim }
|
dimensions: { x: homeButtonDim, y: homeButtonDim, z: homeButtonDim }
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
getMainTabletIDs = function () {
|
||||||
|
var tabletIDs = [];
|
||||||
|
if (HMD.tabletID) {
|
||||||
|
tabletIDs.push(HMD.tabletID);
|
||||||
|
}
|
||||||
|
if (HMD.tabletScreenID) {
|
||||||
|
tabletIDs.push(HMD.tabletScreenID);
|
||||||
|
}
|
||||||
|
if (HMD.homeButtonID) {
|
||||||
|
tabletIDs.push(HMD.homeButtonID);
|
||||||
|
}
|
||||||
|
return tabletIDs;
|
||||||
|
};
|
|
@ -104,8 +104,9 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
} else {
|
} else {
|
||||||
Wallet.refreshWalletStatus();
|
Wallet.refreshWalletStatus();
|
||||||
var entity = HMD.tabletID;
|
if (HMD.tabletID) {
|
||||||
Entities.editEntity(entity, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
Entities.editEntity(HMD.tabletID, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
||||||
|
}
|
||||||
showMarketplace();
|
showMarketplace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,9 @@ var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-
|
||||||
// for toolbar-mode: go back to home screen, this will close the window.
|
// for toolbar-mode: go back to home screen, this will close the window.
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
} else {
|
} else {
|
||||||
var entity = HMD.tabletID;
|
if (HMD.tabletID) {
|
||||||
Entities.editEntity(entity, {textures: JSON.stringify({"tex.close": HOME_BUTTON_TEXTURE})});
|
Entities.editEntity(HMD.tabletID, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
||||||
|
}
|
||||||
tablet.gotoMenuScreen();
|
tablet.gotoMenuScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,14 +41,14 @@
|
||||||
if (!UIWebTablet) {
|
if (!UIWebTablet) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (Overlays.getProperty(HMD.tabletID, "type") != "model") {
|
if (Overlays.getProperty(HMD.tabletID, "type") !== "model") {
|
||||||
if (debugTablet) {
|
if (debugTablet) {
|
||||||
print("TABLET is invalid due to frame: " + JSON.stringify(Overlays.getProperty(HMD.tabletID, "type")));
|
print("TABLET is invalid due to frame: " + JSON.stringify(Overlays.getProperty(HMD.tabletID, "type")));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (Overlays.getProperty(HMD.homeButtonID, "type") != "circle3d" ||
|
if (Overlays.getProperty(HMD.homeButtonID, "type") !== "circle3d" ||
|
||||||
Overlays.getProperty(HMD.tabletScreenID, "type") != "web3d") {
|
Overlays.getProperty(HMD.tabletScreenID, "type") !== "web3d") {
|
||||||
if (debugTablet) {
|
if (debugTablet) {
|
||||||
print("TABLET is invalid due to other");
|
print("TABLET is invalid due to other");
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function showTabletUI() {
|
function showTabletUI() {
|
||||||
checkTablet()
|
checkTablet();
|
||||||
|
|
||||||
if (!tabletRezzed || !tabletIsValid()) {
|
if (!tabletRezzed || !tabletIsValid()) {
|
||||||
closeTabletUI();
|
closeTabletUI();
|
||||||
|
@ -157,7 +157,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeTabletUI() {
|
function closeTabletUI() {
|
||||||
checkTablet()
|
checkTablet();
|
||||||
gTablet.tabletShown = false;
|
gTablet.tabletShown = false;
|
||||||
if (UIWebTablet) {
|
if (UIWebTablet) {
|
||||||
if (UIWebTablet.onClose) {
|
if (UIWebTablet.onClose) {
|
||||||
|
@ -178,14 +178,14 @@
|
||||||
print("TABLET closeTabletUI, UIWebTablet is null");
|
print("TABLET closeTabletUI, UIWebTablet is null");
|
||||||
}
|
}
|
||||||
tabletRezzed = false;
|
tabletRezzed = false;
|
||||||
gTablet = null
|
gTablet = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateShowTablet() {
|
function updateShowTablet() {
|
||||||
var now = Date.now();
|
var now = Date.now();
|
||||||
|
|
||||||
checkTablet()
|
checkTablet();
|
||||||
|
|
||||||
// close the WebTablet if it we go into toolbar mode.
|
// close the WebTablet if it we go into toolbar mode.
|
||||||
var tabletShown = gTablet.tabletShown;
|
var tabletShown = gTablet.tabletShown;
|
||||||
|
@ -270,7 +270,7 @@
|
||||||
}
|
}
|
||||||
if (channel === "home") {
|
if (channel === "home") {
|
||||||
if (UIWebTablet) {
|
if (UIWebTablet) {
|
||||||
checkTablet()
|
checkTablet();
|
||||||
gTablet.landscape = false;
|
gTablet.landscape = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,9 +48,8 @@
|
||||||
// for toolbar-mode: go back to home screen, this will close the window.
|
// for toolbar-mode: go back to home screen, this will close the window.
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
} else {
|
} else {
|
||||||
var tabletEntity = HMD.tabletID;
|
if (HMD.tabletID) {
|
||||||
if (tabletEntity) {
|
Entities.editEntity(HMD.tabletID, {textures: JSON.stringify({"tex.close" : HOME_BUTTON_TEXTURE})});
|
||||||
Entities.editEntity(tabletEntity, {textures: JSON.stringify({"tex.close" : HOME_BUTTON_TEXTURE})});
|
|
||||||
}
|
}
|
||||||
shouldActivateButton = true;
|
shouldActivateButton = true;
|
||||||
tablet.gotoWebScreen(USERS_URL);
|
tablet.gotoWebScreen(USERS_URL);
|
||||||
|
|
|
@ -173,8 +173,18 @@ Laser = function (side) {
|
||||||
// Normal laser operation with trigger.
|
// Normal laser operation with trigger.
|
||||||
intersection = Overlays.findRayIntersection(pickRay, PRECISION_PICKING, NO_INCLUDE_IDS, NO_EXCLUDE_IDS,
|
intersection = Overlays.findRayIntersection(pickRay, PRECISION_PICKING, NO_INCLUDE_IDS, NO_EXCLUDE_IDS,
|
||||||
VISIBLE_ONLY);
|
VISIBLE_ONLY);
|
||||||
|
var tabletIDs = [];
|
||||||
|
if (HMD.tabletID) {
|
||||||
|
tabletIDs.push(HMD.tabletID);
|
||||||
|
}
|
||||||
|
if (HMD.tabletScreenID) {
|
||||||
|
tabletIDs.push(HMD.tabletScreenID);
|
||||||
|
}
|
||||||
|
if (HMD.homeButtonID) {
|
||||||
|
tabletIDs.push(HMD.homeButtonID);
|
||||||
|
}
|
||||||
if (Reticle.pointingAtSystemOverlay || (intersection.overlayID
|
if (Reticle.pointingAtSystemOverlay || (intersection.overlayID
|
||||||
&& [HMD.tabletID, HMD.tabletScreenID, HMD.homeButtonID].indexOf(intersection.overlayID) !== -1)) {
|
&& tabletIDs.indexOf(intersection.overlayID) !== -1)) {
|
||||||
// No laser if pointing at HUD overlay or tablet; system provides lasers for these cases.
|
// No laser if pointing at HUD overlay or tablet; system provides lasers for these cases.
|
||||||
if (isLaserOn) {
|
if (isLaserOn) {
|
||||||
isLaserOn = false;
|
isLaserOn = false;
|
||||||
|
|
Loading…
Reference in a new issue