Merge pull request #11039 from amvmoody/21477

WL 21477 Gravity Script
This commit is contained in:
Andrew Meadows 2017-07-25 08:59:22 -07:00 committed by GitHub
commit 2446fcde8e

View file

@ -0,0 +1,56 @@
//
// gravity.js
//
// Created by Alan-Michael Moody on 7/24/17
// Copyright 2017 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 _entityID;
this.preload = function (entityID) {
_entityID = entityID;
};
function update(deltatime) {
var planet = Entities.getEntityProperties(_entityID);
//normalization happens in rotationBetween.
var direction = Vec3.subtract(MyAvatar.position, planet.position);
var localUp = Quat.getUp(MyAvatar.orientation);
MyAvatar.orientation = Quat.normalize(Quat.multiply(Quat.rotationBetween(localUp, direction), MyAvatar.orientation));
}
function init() {
Script.update.connect(update);
}
function clean() {
Script.update.disconnect(update);
MyAvatar.orientation = Quat.fromVec3Degrees({
x: 0,
y: 0,
z: 0
});
}
var _switch = true;
this.clickDownOnEntity = function(uuid, mouseEvent) {
if (_switch) {
init();
} else {
clean();
}
_switch = !_switch;
};
Script.scriptEnding.connect(clean);
});