Andrew Meadowsarchive remaining JS scriptsc0b446c10 years agoHistory
96 lines · 2.4 KB · JavaScript
RawDownload
(function() {    Script.include("../../libraries/virtualBaton.js");    Script.include("../../libraries/utils.js");     var _this = this;      this.startUpdate = function() {        print("EBL START UPDATE");        Entities.editEntity(_this.batonOwnerIndicator, {            visible: true        });         // Change color of box        Entities.editEntity(_this.entityID, {            color: randomColor()        });         _this.position = Entities.getEntityProperties(_this.entityID, "position").position;        _this.debugLightProperties.position = Vec3.sum(_this.position, {x: 0, y: 1, z: 0});        _this.debugLightProperties.color = randomColor();        var debugLight = Entities.addEntity(_this.debugLightProperties);        Script.setTimeout(function() {            Entities.deleteEntity(debugLight);        }, 500);     }     this.maybeClaim = function() {        print("EBL MAYBE CLAIM");        if (_this.isBatonOwner === true) {            _this.isBatonOwner = false;        }        Entities.editEntity(_this.batonOwnerIndicator, {            visible: false        });        baton.claim(_this.startUpdate, _this.maybeClaim);    }     this.unload = function() {        print("EBL UNLOAD");        baton.unload();        Entities.deleteEntity(_this.batonOwnerIndicator);    }      this.preload = function(entityID) {        print("EBL Preload!!");        _this.entityID = entityID;        _this.setupDebugEntities();         baton = virtualBaton({            batonName: "batonSimpleEntityScript:" + _this.entityID        });        _this.isBatonOwner = false;        _this.maybeClaim();     }      this.setupDebugEntities = function() {        _this.batonOwnerIndicator = Entities.addEntity({            type: "Box",            color: {                red: 200,                green: 10,                blue: 200            },            position: Vec3.sum(MyAvatar.position, {                x: 0,                y: 1,                z: 0            }),            dimensions: {                x: 0.5,                y: 1,                z: 0            },            parentID: MyAvatar.sessionUUID,            visible: false        });    }     _this.debugLightProperties = {        type: "Light",        name: "hifi-baton-light",        dimensions: {            x: 10,            y: 10,            z: 10        },        falloffRadius: 3,        intensity: 20,    } });