86 lines · 3.1 KB · JavaScript
RawDownload
"use strict"; //  nearTrigger.js////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html  /* global Script, Entities, MyAvatar, Controller, RIGHT_HAND, LEFT_HAND,   enableDispatcherModule, disableDispatcherModule, getGrabbableData, Vec3,   TRIGGER_OFF_VALUE, makeDispatcherModuleParameters, makeRunningValues, NEAR_GRAB_RADIUS,   getEnabledModuleByName*/ Script.include("/~/system/libraries/controllerDispatcherUtils.js"); (function() {    function DisableModules(hand) {        this.hand = hand;        this.disableModules = false;        this.parameters = makeDispatcherModuleParameters(            90,            this.hand === RIGHT_HAND ? ["rightHand", "rightHandEquip", "rightHandTrigger"] : ["leftHand", "leftHandEquip", "leftHandTrigger"],            [],            100);         this.isReady = function(controllerData) {            if (this.disableModules) {                return makeRunningValues(true, [], []);            }            return false;        };         this.run = function(controllerData) {            var teleportModuleName = this.hand === RIGHT_HAND ? "RightTeleporter" : "LeftTeleporter";            var teleportModule = getEnabledModuleByName(teleportModuleName);             if (teleportModule) {                var ready = teleportModule.isReady(controllerData);                if (ready) {                    return makeRunningValues(false, [], []);                }            }            if (!this.disablemodules) {                return makeRunningValues(false, [], []);            }            return makeRunningValues(true, [], []);        };    }     var leftDisableModules = new DisableModules(LEFT_HAND);    var rightDisableModules = new DisableModules(RIGHT_HAND);     enableDispatcherModule("LeftDisableModules", leftDisableModules);    enableDispatcherModule("RightDisableModules", rightDisableModules);    this.handleMessage = function(channel, message, sender) {        if (sender === MyAvatar.sessionUUID) {            if (channel === 'Hifi-Hand-Disabler') {                if (message === 'left') {                    leftDisableModules.disableModules = true;                }                if (message === 'right') {                    rightDisableModules.disableModules = true;                                   }                if (message === 'both' || message === 'none') {                    if (message === 'both') {                        leftDisableModules.disableModules = true;                        rightDisableModules.disableModules = true;                    } else if (message === 'none') {                        leftDisableModules.disableModules = false;                        rightDisableModules.disableModules = false;                    }                }            }        }    };            Messages.subscribe('Hifi-Hand-Disabler');    this.cleanup = function() {        disableDispatcherModule("LeftDisableModules");        disableDispatcherModule("RightDisableModules");    };    Messages.messageReceived.connect(this.handleMessage);    Script.scriptEnding.connect(this.cleanup);}());

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t