diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index 7ea1632314..7700167d59 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -39,6 +39,7 @@ var DEFAULT_SCRIPTS_COMBINED = [ var DEFAULT_SCRIPTS_SEPARATE = [ "system/controllers/controllerScripts.js", "communityModules/notificationCore/notificationCore.js", + "simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js", {"stable": "communityModules/chat/FloofChat.js", "beta": "https://content.fluffy.ws/scripts/chat/FloofChat.js"} //"system/chat.js" ]; diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js index 15ce8a83f6..38f3705e16 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js @@ -12,6 +12,7 @@ var PickRayController = Script.require('./resources/modules/pickRayController.js var NameTagListManager = Script.require('./resources/modules/nameTagListManager.js'); var pickRayController = new PickRayController(); var nameTagListManager = new NameTagListManager(); +var altKeyPressed = false; // Handles avatar being solo'd pickRayController @@ -24,7 +25,9 @@ pickRayController function selectAvatar(uuid, intersection) { - nameTagListManager.handleSelect(uuid, intersection); + if (!altKeyPressed) { + nameTagListManager.handleSelect(uuid, intersection); + } } @@ -46,6 +49,18 @@ function onAvatarAdded(uuid) { nameTagListManager.maybeAdd(uuid); } +function blockedKeysPressed(event) { + if (event.isAlt) { + altKeyPressed = true; + } +} + +function blockedKeysReleased(event) { + if (!event.isAlt) { + altKeyPressed = false; + } +} + // Create a new nametag list manager, connect signals, and return back a new Nametag object. var avatarNametagMode; @@ -57,6 +72,8 @@ function startup() { Window.domainChanged.connect(onDomainChange); AvatarManager.avatarRemovedEvent.connect(onAvatarRemoved); AvatarManager.avatarAddedEvent.connect(onAvatarAdded); + Controller.keyPressEvent.connect(blockedKeysPressed); + Controller.keyReleaseEvent.connect(blockedKeysReleased); function NameTag() {} @@ -67,7 +84,6 @@ function startup() { return new NameTag(); } - // Called when the script is closing function unload() { nameTagListManager.destroy(); @@ -75,6 +91,8 @@ function unload() { Window.domainChanged.disconnect(onDomainChange); AvatarManager.avatarRemovedEvent.disconnect(onAvatarRemoved); AvatarManager.avatarAddedEvent.disconnect(onAvatarAdded); + Controller.keyPressEvent.disconnect(blockedsKeyPressed); + Controller.keyReleaseEvent.disconnect(blockedKeysReleased); } @@ -88,5 +106,8 @@ function handleAvatarNametagMode(newAvatarNameTagMode) { var nameTag = startup(); -module.exports = nameTag; - +try { + module.exports = nameTag; +} catch (e) { + // module doesn't exist when script run outside of simplified UI. +}