mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 11:29:50 +02:00
Merge pull request #12788 from sethalves/fix-immediate-last-edited-by
set lastEditedBy in local tree whenever a script adds or edits an entity
This commit is contained in:
commit
1834325970
1 changed files with 15 additions and 3 deletions
|
@ -241,14 +241,18 @@ QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties
|
||||||
|
|
||||||
_activityTracking.addedEntityCount++;
|
_activityTracking.addedEntityCount++;
|
||||||
|
|
||||||
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
auto sessionID = nodeList->getSessionUUID();
|
||||||
|
|
||||||
EntityItemProperties propertiesWithSimID = properties;
|
EntityItemProperties propertiesWithSimID = properties;
|
||||||
if (clientOnly) {
|
if (clientOnly) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
const QUuid myNodeID = sessionID;
|
||||||
const QUuid myNodeID = nodeList->getSessionUUID();
|
|
||||||
propertiesWithSimID.setClientOnly(clientOnly);
|
propertiesWithSimID.setClientOnly(clientOnly);
|
||||||
propertiesWithSimID.setOwningAvatarID(myNodeID);
|
propertiesWithSimID.setOwningAvatarID(myNodeID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
propertiesWithSimID.setLastEditedBy(sessionID);
|
||||||
|
|
||||||
bool scalesWithParent = propertiesWithSimID.getScalesWithParent();
|
bool scalesWithParent = propertiesWithSimID.getScalesWithParent();
|
||||||
|
|
||||||
propertiesWithSimID = convertPropertiesFromScriptSemantics(propertiesWithSimID, scalesWithParent);
|
propertiesWithSimID = convertPropertiesFromScriptSemantics(propertiesWithSimID, scalesWithParent);
|
||||||
|
@ -308,6 +312,11 @@ QUuid EntityScriptingInterface::addModelEntity(const QString& name, const QStrin
|
||||||
if (!textures.isEmpty()) {
|
if (!textures.isEmpty()) {
|
||||||
properties.setTextures(textures);
|
properties.setTextures(textures);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
auto sessionID = nodeList->getSessionUUID();
|
||||||
|
properties.setLastEditedBy(sessionID);
|
||||||
|
|
||||||
return addEntity(properties);
|
return addEntity(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -363,7 +372,11 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties&
|
||||||
|
|
||||||
_activityTracking.editedEntityCount++;
|
_activityTracking.editedEntityCount++;
|
||||||
|
|
||||||
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
auto sessionID = nodeList->getSessionUUID();
|
||||||
|
|
||||||
EntityItemProperties properties = scriptSideProperties;
|
EntityItemProperties properties = scriptSideProperties;
|
||||||
|
properties.setLastEditedBy(sessionID);
|
||||||
|
|
||||||
EntityItemID entityID(id);
|
EntityItemID entityID(id);
|
||||||
if (!_entityTree) {
|
if (!_entityTree) {
|
||||||
|
@ -379,7 +392,6 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties&
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
|
||||||
if (entity->getClientOnly() && entity->getOwningAvatarID() != nodeList->getSessionUUID()) {
|
if (entity->getClientOnly() && entity->getOwningAvatarID() != nodeList->getSessionUUID()) {
|
||||||
// don't edit other avatar's avatarEntities
|
// don't edit other avatar's avatarEntities
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue