100 lines · 3.0 KB · JavaScript
RawDownload
//////  Created by The Content Team 4/10/216//  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//// (function() {     var _this;     function BaseBox() {        _this = this;        return this;    }     BaseBox.prototype = {        lid:null,        startNearGrab: function(myID, params) {            print('START GRAB ON BASE')            _this.hand = params[0];            _this.disableHand();            var myProps = Entities.getEntityProperties(_this.entityID)            var results = Entities.findEntities(myProps.position, 2);            var lid = null;            results.forEach(function(result) {                var resultProps = Entities.getEntityProperties(result);                if (resultProps.name.indexOf('music_box_lid') > -1) {                    _this.lid = result;                }            });        },         preload: function(entityID) {            this.entityID = entityID;            print('PRELOAD BASE!!')        },         continueNearGrab: function() {            print('GRAB ON DE BASE!')            var myProps = Entities.getEntityProperties(_this.entityID)            var results = Entities.findEntities(myProps.position, 2);                 results.forEach(function(result) {                var resultProps = Entities.getEntityProperties(result);                if (resultProps.name.indexOf('music_box_lid') > -1) {                    _this.lid = result;                }            });            if (_this.lid === null) {                return;            } else {                Entities.callEntityMethod(_this.lid, 'updateHatRotation');                Entities.callEntityMethod(_this.lid, 'updateKeyRotation');            }        },         disableHand: function() {            print('DISABLE HAND BASE')            //disable the off hand in the grab script.            var handToDisable = _this.hand === 'right' ? 'left' : 'right';            print("disabling hand: " + handToDisable);            Messages.sendLocalMessage('Hifi-Hand-Disabler', handToDisable);             //tell the lid which hand it should use.            //the lid should use the hand that is disabled.            if (handToDisable === 'right') {                Entities.callEntityMethod(_this.lid, 'setRightHand');            }            if (handToDisable === 'left') {                Entities.callEntityMethod(_this.lid, 'setLeftHand');            }             print('DISABLED BASE HAND:: ' + handToDisable)        },         enableHand: function() {            print('SHOULD ENABLE HAND FROM BASE')            Messages.sendLocalMessage('Hifi-Hand-Disabler', "none")            Entities.callEntityMethod(_this.lid, 'clearHand');         },         releaseGrab: function() {            print('RELEASE GRAB ON BASE')            _this.enableHand();        },         unload: function() {            _this.enableHand();        }    }     return new BaseBox})