Merge remote-tracking branch 'james/homereset' into homereset

This commit is contained in:
ericrius1 2016-03-25 13:01:56 -07:00
commit 556f4b936d
2 changed files with 26 additions and 30 deletions

View file

@ -2,7 +2,7 @@
var utilsPath = Script.resolvePath("../utils.js");
Script.include(utilsPath);
var avatarModelURL;
var avatarModelURL ='https://s3.amazonaws.com/hifi-public/ozan/avatars/albert/albert/albert.fbx';
DressingRoom = function() {
return this
@ -12,19 +12,19 @@
preload: function(entityID) {
print('PRELOAD DRESSING ROOM');
this.entityID = entityID;
avatarModelURL = getAvatarFBX();
// avatarModelURL = getAvatarFBX();
},
enterEntity: function() {
print('ENTER DRESSING ROOM');
avatarModelURL = getAvatarFBX();
// avatarModelURL = getAvatarFBX();
makeDoppelgangerForMyAvatar();
subscribeToWearableMessages();
subscribeToFreezeMessages();
// subscribeToFreezeMessages();
this.setOccupied();
var doppelProps = Entities.getEntityProperties(this.entityID);
Entities.editEntity(doppelgangers[0], {
dimensions: doppelProps.naturalDimensions,
});
// Entities.editEntity(doppelgangers[0], {
// dimensions: doppelProps.naturalDimensions,
// });
},
leaveEntity: function() {
print('EXIT DRESSING ROOM!');
@ -73,7 +73,6 @@
var doppelgangers = [];
function Doppelganger(avatar) {
this.initialProperties = {
name: 'Hifi-Doppelganger',
@ -84,7 +83,7 @@
rotation: matchBaseRotation(),
collisionsWillMove: false,
ignoreForCollisions: false,
script: FREEZE_TOGGLER_SCRIPT_URL,
// script: FREEZE_TOGGLER_SCRIPT_URL,
userData: JSON.stringify({
grabbableKey: {
grabbable: false,
@ -93,7 +92,7 @@
})
};
this.id = createDoppelgangerEntity(this);
this.id = createDoppelgangerEntity(this.initialProperties);
this.avatar = avatar;
return this;
}
@ -141,14 +140,16 @@
}
function setJointData(doppelganger, relativeXforms) {
print('setting joint data for ' + doppelganger.id)
var jointRotations = [];
var i, l = relativeXforms.length;
for (i = 0; i < l; i++) {
jointRotations.push(relativeXforms[i].rot);
}
var setJointSuccess = Entities.setAbsoluteJointRotationsInObjectFrame(doppelganger.id, jointRotations);
// print('JOINT ROTATIONS:: ' + JSON.stringify(jointRotations));
print('SUCCESS SETTING JOINTS?' + setJointSuccess + "for " + doppelganger.id)
return true;
return;
}
// maps joint names to their mirrored joint
@ -399,8 +400,8 @@
return new Doppelganger(avatar);
}
function createDoppelgangerEntity(doppelganger) {
return Entities.addEntity(doppelganger.initialProperties);
function createDoppelgangerEntity(initialProperties) {
return Entities.addEntity(initialProperties);
}
function matchBasePosition() {
@ -449,7 +450,6 @@
return offset
}
function matchBaseRotation() {
var ids = Entities.findEntities(MyAvatar.position, 20);
var hasBase = false;
@ -466,20 +466,14 @@
}
var isConnected = false;
function connectDoppelgangerUpdates() {
Script.update.connect(updateDoppelganger);
isConnected = true;
}
function disconnectDoppelgangerUpdates() {
if (isConnected === true) {
print('SHOULD DISCONNECT')
Script.update.disconnect(updateDoppelganger);
}
isConnected = false;
Script.update.disconnect(updateDoppelganger);
}
var sinceLastUpdate = 0;
@ -509,7 +503,11 @@
absoluteXforms = mirroredAbsoluteXforms;
}
var relativeXforms = buildRelativeXformsFromAbsoluteXforms(absoluteXforms);
setJointData(doppelgangers[0], relativeXforms);
// print('DOPPELGANGERS:::: ' + doppelgangers.length);
// print('first doppel id:: ' + doppelgangers[0].id);
doppelgangers.forEach(function(doppelganger) {
setJointData(doppelganger, relativeXforms);
})
}
@ -552,7 +550,6 @@
}
if (parsedMessage.action === 'unfreeze') {
print('ACTUAL UNFREEZE')
connectDoppelgangerUpdates();
}
@ -694,14 +691,15 @@
function cleanup() {
if (isConnected === true) {
disconnectDoppelgangerUpdates();
}
Script.update.disconnect(updateDoppelganger);
doppelgangers.forEach(function(doppelganger) {
print('DOPPELGANGER' + doppelganger.id)
print('DELETING DOPPELGANGER' + doppelganger.id)
Entities.deleteEntity(doppelganger.id);
});
doppelgangers = [];
}
return new DressingRoom();

View file

@ -67,8 +67,6 @@
preload: function(entityID) {
this.entityID = entityID;
this.initialProperties = Entities.getEntityProperties(this.entityID);
this.userData = JSON.parse(this.initialProperties.userData);
},
};