// // bridgeApp.js // // Created by Rebecca Stankus on 06/11/18 // Copyright 2018 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 TABLET_BUTTON_IMAGE = Script.resolvePath('svg/megaphone-i.svg'); var TABLET_BUTTON_PRESSED = Script.resolvePath('svg/megaphone-a.svg'); var SEARCH_RADIUS = 100; var tablet = Tablet.getTablet('com.highfidelity.interface.tablet.system'); var appPage = Script.resolvePath('bridgeApp.html'); var button = tablet.addButton({ text: 'BRIDGE', icon: TABLET_BUTTON_IMAGE, activeIcon: TABLET_BUTTON_PRESSED }); var open = false; function findTargets() { Entities.findEntities(MyAvatar.position, SEARCH_RADIUS).forEach(function(element) { var properties = Entities.getEntityProperties(element, ['name']); if (properties.name === "") { contentToSwap = element; } }); } function onClicked() { if (open) { tablet.gotoHomeScreen(); } else { tablet.gotoWebScreen(appPage); } } function swapContent() { print("swap"); } function restoreContent() { print("restore"); } function onWebEventReceived(event) { if (typeof event === 'string') { findTargets(); event = JSON.parse(event); switch (event.type) { case 'changeSet': swapContent(); break; case 'restoreSet': restoreContent(); break; default: print("error in detecting event.type"); } } } function onScreenChanged(type, url) { open = (url === appPage); button.editProperties({isActive: open}); } function appEnding() { button.clicked.disconnect(onClicked); tablet.removeButton(button); tablet.screenChanged.disconnect(onScreenChanged); tablet.webEventReceived.disconnect(onWebEventReceived); } button.clicked.connect(onClicked); tablet.screenChanged.connect(onScreenChanged); tablet.webEventReceived.connect(onWebEventReceived); Script.scriptEnding.connect(appEnding); }());