mirror of
https://github.com/lubosz/overte.git
synced 2025-04-08 09:43:01 +02:00
lock wearables when adjust-wearables page is opened
This commit is contained in:
parent
4fe94a4b32
commit
fa36f12145
2 changed files with 10 additions and 24 deletions
|
@ -384,8 +384,7 @@ bool Avatar::applyGrabChanges() {
|
|||
if (success) {
|
||||
std::shared_ptr<Avatar> myAvatar = std::dynamic_pointer_cast<Avatar>(myAvatarSN);
|
||||
if (myAvatar) {
|
||||
EntityItemProperties properties = entity->getProperties();
|
||||
myAvatar->sendPacket(entity->getID(), properties);
|
||||
myAvatar->sendPacket(entity->getID());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
(function() { // BEGIN LOCAL_SCOPE
|
||||
|
||||
// var request = Script.require('request').request;
|
||||
var AVATARAPP_QML_SOURCE = "hifi/AvatarApp.qml";
|
||||
Script.include("/~/system/libraries/controllers.js");
|
||||
|
||||
|
@ -24,7 +23,6 @@ Script.include("/~/system/libraries/controllers.js");
|
|||
var ENTRY_AVATAR_URL = "avatarUrl";
|
||||
var ENTRY_AVATAR_ENTITIES = "avatarEntites";
|
||||
var ENTRY_AVATAR_SCALE = "avatarScale";
|
||||
// var ENTRY_VERSION = "version";
|
||||
|
||||
function executeLater(callback) {
|
||||
Script.setTimeout(callback, 300);
|
||||
|
@ -79,7 +77,7 @@ function updateAvatarWearables(avatar, callback, wearablesOverride) {
|
|||
avatar[ENTRY_AVATAR_ENTITIES] = wearables;
|
||||
|
||||
sendToQml({'method' : 'wearablesUpdated', 'wearables' : wearables});
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
|
||||
if(callback)
|
||||
callback();
|
||||
|
@ -174,7 +172,6 @@ function onAnimGraphUrlChanged(url) {
|
|||
}
|
||||
}
|
||||
|
||||
var selectedAvatarEntityGrabbable = false;
|
||||
var selectedAvatarEntityID = null;
|
||||
var grabbedAvatarEntityChangeNotifier = null;
|
||||
|
||||
|
@ -240,7 +237,7 @@ function fromQml(message) { // messages are {method, params}, like json-rpc. See
|
|||
AvatarBookmarks.loadBookmark(message.name);
|
||||
Entities.addingWearable.connect(onAddingWearable);
|
||||
Entities.deletingWearable.connect(onDeletingWearable);
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
break;
|
||||
case 'deleteAvatar':
|
||||
AvatarBookmarks.removeBookmark(message.name);
|
||||
|
@ -265,6 +262,7 @@ function fromQml(message) { // messages are {method, params}, like json-rpc. See
|
|||
case 'adjustWearablesOpened':
|
||||
currentAvatarWearablesBackup = getMyAvatarWearables();
|
||||
adjustWearables.setOpened(true);
|
||||
lockWearables();
|
||||
|
||||
Entities.mousePressOnEntity.connect(onSelectedEntity);
|
||||
Messages.subscribe('Hifi-Object-Manipulation');
|
||||
|
@ -409,10 +407,10 @@ function isGrabbable(entityID) {
|
|||
|
||||
function setGrabbable(entityID, grabbable) {
|
||||
var properties = Entities.getEntityProperties(entityID, ['avatarEntity', 'grab.grabbable']);
|
||||
if (properties.avatarEntity && properties.grab.grabable != grabbable) {
|
||||
if (properties.avatarEntity && properties.grab.grabbable != grabbable) {
|
||||
var editProps = { grab: { grabbable: grabbable }};
|
||||
Entities.editEntity(entityID, editProps);
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -422,18 +420,7 @@ function ensureWearableSelected(entityID) {
|
|||
Script.clearInterval(grabbedAvatarEntityChangeNotifier);
|
||||
grabbedAvatarEntityChangeNotifier = null;
|
||||
}
|
||||
|
||||
if(selectedAvatarEntityID !== null) {
|
||||
setGrabbable(selectedAvatarEntityID, selectedAvatarEntityGrabbable);
|
||||
}
|
||||
|
||||
selectedAvatarEntityID = entityID;
|
||||
selectedAvatarEntityGrabbable = isGrabbable(entityID);
|
||||
|
||||
if(selectedAvatarEntityID !== null) {
|
||||
setGrabbable(selectedAvatarEntityID, true);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -457,14 +444,14 @@ function onAddingWearable(entityID) {
|
|||
updateAvatarWearables(currentAvatar, function() {
|
||||
sendToQml({'method' : 'updateAvatarInBookmarks'});
|
||||
});
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
}
|
||||
|
||||
function onDeletingWearable(entityID) {
|
||||
updateAvatarWearables(currentAvatar, function() {
|
||||
sendToQml({'method' : 'updateAvatarInBookmarks'});
|
||||
});
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
}
|
||||
|
||||
function handleWearableMessages(channel, message, sender) {
|
||||
|
@ -647,8 +634,8 @@ function onTabletScreenChanged(type, url) {
|
|||
onAvatarAppScreen = onAvatarAppScreenNow;
|
||||
|
||||
if(onAvatarAppScreenNow) {
|
||||
sendToQml({ method : 'initialize', data : { jointNames : MyAvatar.getJointNames() }});
|
||||
sendToQml({ method : 'wearablesLockedChanged', wearablesLocked : getWearablesLocked()});
|
||||
sendToQml({ 'method' : 'initialize', 'data' : { jointNames : MyAvatar.getJointNames() }});
|
||||
sendToQml({ 'method' : 'wearablesLockedChanged', 'wearablesLocked' : getWearablesLocked()});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue