Rez entity in marketplace item tester

This commit is contained in:
Kerry Ivan Kurian 2018-09-20 13:55:22 -07:00
parent afa8e44e66
commit ae4352f450
2 changed files with 51 additions and 16 deletions

View file

@ -23,7 +23,10 @@ import "../../../controls-uit" as HifiControlsUit
Rectangle {
id: root
property string installedApps
signal sendToScript(var message)
HifiStylesUit.HifiConstants { id: hifi }
ListModel { id: resourceListModel }
@ -57,7 +60,11 @@ Rectangle {
function toUrl(resource) {
var httpPattern = /^http/i;
return httpPattern.test(str) ? resource : "file:///" + resource;
return httpPattern.test(resource) ? resource : "file:///" + resource;
}
function rezEntity(itemHref, itemType) {
}
Component.onCompleted: {
@ -92,7 +99,12 @@ Rectangle {
urlHandler.handleUrl("hifi://localhost/0,0,0");
Commerce.replaceContentSet(toUrl(resource), "");
break;
case "entity":
case "entity or wearable":
print("going to rez " + toUrl(resource));
sendToScript({
method: 'tester_rezClicked',
itemHref: toUrl(resource),
itemType: "entity"});
break;
}
// XXX support other resource types here.

View file

@ -21,20 +21,20 @@ var selectionDisplay = null; // for gridTool.js to ignore
Script.include("/~/system/libraries/gridTool.js");
Script.include("/~/system/libraries/connectionUtils.js");
var METAVERSE_SERVER_URL = Account.metaverseServerURL;
// var HOME_BUTTON_TEXTURE = Script.resourcesPath() + "meshes/tablet-with-home-button.fbx/tablet-with-home-button.fbm/button-root.png";
var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-with-home-button.fbx/tablet-with-home-button.fbm/button-root.png";
var MARKETPLACE_CHECKOUT_QML_PATH = "hifi/commerce/checkout/Checkout.qml";
var MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH = "commerce/inspectionCertificate/InspectionCertificate.qml";
var MARKETPLACE_ITEM_TESTER_QML_PATH = "hifi/commerce/marketplaceItemTester/MarketplaceItemTester.qml";
var MARKETPLACE_PURCHASES_QML_PATH = "hifi/commerce/purchases/Purchases.qml";
var MARKETPLACE_URL = METAVERSE_SERVER_URL + "/marketplace";
var MARKETPLACE_URL_INITIAL = MARKETPLACE_URL + "?"; // Append "?" to signal injected script that it's the initial page.
var MARKETPLACES_URL = Script.resolvePath("../html/marketplaces.html");
var MARKETPLACES_INJECT_SCRIPT_URL = Script.resolvePath("../html/js/marketplacesInject.js");
var MARKETPLACE_CHECKOUT_QML_PATH = "hifi/commerce/checkout/Checkout.qml";
var MARKETPLACE_PURCHASES_QML_PATH = "hifi/commerce/purchases/Purchases.qml";
var MARKETPLACE_WALLET_QML_PATH = "hifi/commerce/wallet/Wallet.qml";
var MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH = "commerce/inspectionCertificate/InspectionCertificate.qml";
var MARKETPLACES_INJECT_SCRIPT_URL = Script.resolvePath("../html/js/marketplacesInject.js");
var MARKETPLACES_URL = Script.resolvePath("../html/marketplaces.html");
var METAVERSE_SERVER_URL = Account.metaverseServerURL;
var REZZING_SOUND = SoundCache.getSound(Script.resolvePath("../assets/sounds/rezzing.wav"));
var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-with-home-button.fbx/tablet-with-home-button.fbm/button-root.png";
// var HOME_BUTTON_TEXTURE = Script.resourcesPath() + "meshes/tablet-with-home-button.fbx/tablet-with-home-button.fbm/button-root.png";
// Event bridge messages.
var CLARA_IO_DOWNLOAD = "CLARA.IO DOWNLOAD";
var CLARA_IO_STATUS = "CLARA.IO STATUS";
@ -786,7 +786,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
}
sendAssetRecipient = null;
}
var savedDisablePreviewOptionLocked = false;
var savedDisablePreviewOption = Menu.isOptionChecked("Disable Preview");;
function maybeEnableHMDPreview() {
@ -855,6 +855,8 @@ var selectionDisplay = null; // for gridTool.js to ignore
break;
case 'checkout_rezClicked':
case 'purchases_rezClicked':
case 'tester_rezClicked':
print("marketplace.js going to rez");
rezEntity(message.itemHref, message.itemType);
break;
case 'header_marketplaceImageClicked':
@ -1032,19 +1034,40 @@ var selectionDisplay = null; // for gridTool.js to ignore
// value of "Home", "Web", "Menu", "QML", or "Closed". The "url" argument is only valid for Web and QML.
var onWalletScreen = false;
var onCommerceScreen = false;
var onMarketplaceItemTesterScreen = false;
function onTabletScreenChanged(type, url) {
onMarketplaceScreen = type === "Web" && url.indexOf(MARKETPLACE_URL) !== -1;
var onWalletScreenNow = url.indexOf(MARKETPLACE_WALLET_QML_PATH) !== -1;
var onCommerceScreenNow = type === "QML" && (url.indexOf(MARKETPLACE_CHECKOUT_QML_PATH) !== -1 || url === MARKETPLACE_PURCHASES_QML_PATH
|| url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
var onCommerceScreenNow = type === "QML" && (
url.indexOf(MARKETPLACE_CHECKOUT_QML_PATH) !== -1 ||
url === MARKETPLACE_PURCHASES_QML_PATH ||
url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
var onMarketplaceItemTesterScreenNow = (
url.indexOf(MARKETPLACE_ITEM_TESTER_QML_PATH) !== -1 ||
url === MARKETPLACE_ITEM_TESTER_QML_PATH);
if ((!onWalletScreenNow && onWalletScreen) || (!onCommerceScreenNow && onCommerceScreen)) { // exiting wallet or commerce screen
if ((!onWalletScreenNow && onWalletScreen) ||
(!onCommerceScreenNow && onCommerceScreen) ||
(!onMarketplaceItemTesterScreenNow && onMarketplaceScreen)
) {
// exiting wallet, commerce, or marketplace item tester screen
maybeEnableHMDPreview();
}
onCommerceScreen = onCommerceScreenNow;
onWalletScreen = onWalletScreenNow;
wireEventBridge(onMarketplaceScreen || onCommerceScreen || onWalletScreen);
onMarketplaceItemTesterScreen = onMarketplaceItemTesterScreenNow;
print("wire event bridge " + (onMarketplaceScreen ||
onCommerceScreen ||
onWalletScreen ||
onMarketplaceItemTesterScreen));
wireEventBridge(
onMarketplaceScreen ||
onCommerceScreen ||
onWalletScreen ||
onMarketplaceItemTesterScreen);
if (url === MARKETPLACE_PURCHASES_QML_PATH) {
sendToQml({