mirror of
https://github.com/Armored-Dragon/overte.git
synced 2025-03-11 16:13:16 +01:00
Merge remote-tracking branch 'james/homereset' into homereset
This commit is contained in:
commit
556f4b936d
2 changed files with 26 additions and 30 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
var utilsPath = Script.resolvePath("../utils.js");
|
var utilsPath = Script.resolvePath("../utils.js");
|
||||||
Script.include(utilsPath);
|
Script.include(utilsPath);
|
||||||
var avatarModelURL;
|
var avatarModelURL ='https://s3.amazonaws.com/hifi-public/ozan/avatars/albert/albert/albert.fbx';
|
||||||
|
|
||||||
DressingRoom = function() {
|
DressingRoom = function() {
|
||||||
return this
|
return this
|
||||||
|
@ -12,19 +12,19 @@
|
||||||
preload: function(entityID) {
|
preload: function(entityID) {
|
||||||
print('PRELOAD DRESSING ROOM');
|
print('PRELOAD DRESSING ROOM');
|
||||||
this.entityID = entityID;
|
this.entityID = entityID;
|
||||||
avatarModelURL = getAvatarFBX();
|
// avatarModelURL = getAvatarFBX();
|
||||||
},
|
},
|
||||||
enterEntity: function() {
|
enterEntity: function() {
|
||||||
print('ENTER DRESSING ROOM');
|
print('ENTER DRESSING ROOM');
|
||||||
avatarModelURL = getAvatarFBX();
|
// avatarModelURL = getAvatarFBX();
|
||||||
makeDoppelgangerForMyAvatar();
|
makeDoppelgangerForMyAvatar();
|
||||||
subscribeToWearableMessages();
|
subscribeToWearableMessages();
|
||||||
subscribeToFreezeMessages();
|
// subscribeToFreezeMessages();
|
||||||
this.setOccupied();
|
this.setOccupied();
|
||||||
var doppelProps = Entities.getEntityProperties(this.entityID);
|
var doppelProps = Entities.getEntityProperties(this.entityID);
|
||||||
Entities.editEntity(doppelgangers[0], {
|
// Entities.editEntity(doppelgangers[0], {
|
||||||
dimensions: doppelProps.naturalDimensions,
|
// dimensions: doppelProps.naturalDimensions,
|
||||||
});
|
// });
|
||||||
},
|
},
|
||||||
leaveEntity: function() {
|
leaveEntity: function() {
|
||||||
print('EXIT DRESSING ROOM!');
|
print('EXIT DRESSING ROOM!');
|
||||||
|
@ -73,7 +73,6 @@
|
||||||
var doppelgangers = [];
|
var doppelgangers = [];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function Doppelganger(avatar) {
|
function Doppelganger(avatar) {
|
||||||
this.initialProperties = {
|
this.initialProperties = {
|
||||||
name: 'Hifi-Doppelganger',
|
name: 'Hifi-Doppelganger',
|
||||||
|
@ -84,7 +83,7 @@
|
||||||
rotation: matchBaseRotation(),
|
rotation: matchBaseRotation(),
|
||||||
collisionsWillMove: false,
|
collisionsWillMove: false,
|
||||||
ignoreForCollisions: false,
|
ignoreForCollisions: false,
|
||||||
script: FREEZE_TOGGLER_SCRIPT_URL,
|
// script: FREEZE_TOGGLER_SCRIPT_URL,
|
||||||
userData: JSON.stringify({
|
userData: JSON.stringify({
|
||||||
grabbableKey: {
|
grabbableKey: {
|
||||||
grabbable: false,
|
grabbable: false,
|
||||||
|
@ -93,7 +92,7 @@
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
this.id = createDoppelgangerEntity(this);
|
this.id = createDoppelgangerEntity(this.initialProperties);
|
||||||
this.avatar = avatar;
|
this.avatar = avatar;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -141,14 +140,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function setJointData(doppelganger, relativeXforms) {
|
function setJointData(doppelganger, relativeXforms) {
|
||||||
|
print('setting joint data for ' + doppelganger.id)
|
||||||
var jointRotations = [];
|
var jointRotations = [];
|
||||||
var i, l = relativeXforms.length;
|
var i, l = relativeXforms.length;
|
||||||
for (i = 0; i < l; i++) {
|
for (i = 0; i < l; i++) {
|
||||||
jointRotations.push(relativeXforms[i].rot);
|
jointRotations.push(relativeXforms[i].rot);
|
||||||
}
|
}
|
||||||
var setJointSuccess = Entities.setAbsoluteJointRotationsInObjectFrame(doppelganger.id, jointRotations);
|
var setJointSuccess = Entities.setAbsoluteJointRotationsInObjectFrame(doppelganger.id, jointRotations);
|
||||||
|
// print('JOINT ROTATIONS:: ' + JSON.stringify(jointRotations));
|
||||||
print('SUCCESS SETTING JOINTS?' + setJointSuccess + "for " + doppelganger.id)
|
print('SUCCESS SETTING JOINTS?' + setJointSuccess + "for " + doppelganger.id)
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// maps joint names to their mirrored joint
|
// maps joint names to their mirrored joint
|
||||||
|
@ -399,8 +400,8 @@
|
||||||
return new Doppelganger(avatar);
|
return new Doppelganger(avatar);
|
||||||
}
|
}
|
||||||
|
|
||||||
function createDoppelgangerEntity(doppelganger) {
|
function createDoppelgangerEntity(initialProperties) {
|
||||||
return Entities.addEntity(doppelganger.initialProperties);
|
return Entities.addEntity(initialProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
function matchBasePosition() {
|
function matchBasePosition() {
|
||||||
|
@ -449,7 +450,6 @@
|
||||||
return offset
|
return offset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function matchBaseRotation() {
|
function matchBaseRotation() {
|
||||||
var ids = Entities.findEntities(MyAvatar.position, 20);
|
var ids = Entities.findEntities(MyAvatar.position, 20);
|
||||||
var hasBase = false;
|
var hasBase = false;
|
||||||
|
@ -466,20 +466,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var isConnected = false;
|
|
||||||
|
|
||||||
function connectDoppelgangerUpdates() {
|
function connectDoppelgangerUpdates() {
|
||||||
Script.update.connect(updateDoppelganger);
|
Script.update.connect(updateDoppelganger);
|
||||||
isConnected = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function disconnectDoppelgangerUpdates() {
|
function disconnectDoppelgangerUpdates() {
|
||||||
|
Script.update.disconnect(updateDoppelganger);
|
||||||
if (isConnected === true) {
|
|
||||||
print('SHOULD DISCONNECT')
|
|
||||||
Script.update.disconnect(updateDoppelganger);
|
|
||||||
}
|
|
||||||
isConnected = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var sinceLastUpdate = 0;
|
var sinceLastUpdate = 0;
|
||||||
|
@ -509,7 +503,11 @@
|
||||||
absoluteXforms = mirroredAbsoluteXforms;
|
absoluteXforms = mirroredAbsoluteXforms;
|
||||||
}
|
}
|
||||||
var relativeXforms = buildRelativeXformsFromAbsoluteXforms(absoluteXforms);
|
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') {
|
if (parsedMessage.action === 'unfreeze') {
|
||||||
print('ACTUAL UNFREEZE')
|
print('ACTUAL UNFREEZE')
|
||||||
|
|
||||||
connectDoppelgangerUpdates();
|
connectDoppelgangerUpdates();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -694,14 +691,15 @@
|
||||||
|
|
||||||
|
|
||||||
function cleanup() {
|
function cleanup() {
|
||||||
if (isConnected === true) {
|
|
||||||
disconnectDoppelgangerUpdates();
|
Script.update.disconnect(updateDoppelganger);
|
||||||
}
|
|
||||||
|
|
||||||
doppelgangers.forEach(function(doppelganger) {
|
doppelgangers.forEach(function(doppelganger) {
|
||||||
print('DOPPELGANGER' + doppelganger.id)
|
print('DELETING DOPPELGANGER' + doppelganger.id)
|
||||||
Entities.deleteEntity(doppelganger.id);
|
Entities.deleteEntity(doppelganger.id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
doppelgangers = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return new DressingRoom();
|
return new DressingRoom();
|
||||||
|
|
|
@ -67,8 +67,6 @@
|
||||||
|
|
||||||
preload: function(entityID) {
|
preload: function(entityID) {
|
||||||
this.entityID = entityID;
|
this.entityID = entityID;
|
||||||
this.initialProperties = Entities.getEntityProperties(this.entityID);
|
|
||||||
this.userData = JSON.parse(this.initialProperties.userData);
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue