"use strict"; // // bubble.js // scripts/system/ // // Created by Brad Hefta-Gaub on 11/18/2016 // Copyright 2016 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 // /* global Toolbars, Script, Users, Overlays, AvatarList, Controller, Camera, getControllerWorldLocation */ (function() { // BEGIN LOCAL_SCOPE // grab the toolbar var toolbar = Toolbars.getToolbar("com.highfidelity.interface.toolbar.system"); var ASSETS_PATH = Script.resolvePath("assets"); var TOOLS_PATH = Script.resolvePath("assets/images/tools/"); function buttonImageURL() { return TOOLS_PATH + 'bubble.svg'; } function onBubbleToggled() { var bubbleActive = Users.getIgnoreRadiusEnabled(); button.writeProperty('buttonState', bubbleActive ? 0 : 1); button.writeProperty('defaultState', bubbleActive ? 0 : 1); button.writeProperty('hoverState', bubbleActive ? 2 : 3); } // setup the mod button and add it to the toolbar var button = toolbar.addButton({ objectName: 'bubble', imageURL: buttonImageURL(), visible: true, alpha: 0.9 }); onBubbleToggled(); button.clicked.connect(Users.toggleIgnoreRadius); Users.ignoreRadiusEnabledChanged.connect(onBubbleToggled); // cleanup the toolbar button and overlays when script is stopped Script.scriptEnding.connect(function() { toolbar.removeButton('bubble'); button.clicked.disconnect(Users.toggleIgnoreRadius); Users.ignoreRadiusEnabledChanged.disconnect(onBubbleToggled); }); }()); // END LOCAL_SCOPE