History

EntityItem::_owningAvatarID always AVATAR_SELF_ID for MyAvatar's entities

Andrew Meadows committed 7 years ago

Commit 470a45c1 parent 5a81ed711 files · +73 −37Browse files

Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 11 files). Show all

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+8−13
@@ -480,17 +480,11 @@ QUuid EntityScriptingInterface::addEntityInternal(const EntityItemProperties& pr · 479 unmodified lines
480480
481481 _activityTracking.addedEntityCount++;
482482
483− auto nodeList = DependencyManager::get<NodeList>();
484− auto sessionID = nodeList->getSessionUUID();
485−
486483 EntityItemProperties propertiesWithSimID = properties;
487484 propertiesWithSimID.setEntityHostType(entityHostType);
488485 if (entityHostType == entity::HostType::AVATAR) {
489− if (sessionID.isNull()) {
490− // null sessionID is unacceptable in this case
491− sessionID = AVATAR_SELF_ID;
492− }
493− propertiesWithSimID.setOwningAvatarID(sessionID);
486+ // only allow adding our own avatar entities from script
487+ propertiesWithSimID.setOwningAvatarID(AVATAR_SELF_ID);
494488 } else if (entityHostType == entity::HostType::LOCAL) {
495489 // For now, local entities are always collisionless
496490 // TODO: create a separate, local physics simulation that just handles local entities (and MyAvatar?)
@@ -498,6 +492,8 @@ QUuid EntityScriptingInterface::addEntityInternal(const EntityItemProperties& pr · 1 unmodified line
498492 }
499493
500494 // the created time will be set in EntityTree::addEntity by recordCreationTime()
495+ auto nodeList = DependencyManager::get<NodeList>();
496+ auto sessionID = nodeList->getSessionUUID();
501497 propertiesWithSimID.setLastEditedBy(sessionID);
502498
503499 bool scalesWithParent = propertiesWithSimID.getScalesWithParent();
@@ -805,7 +801,7 @@ QUuid EntityScriptingInterface::editEntity(const QUuid& id, const EntityItemProp · 301 unmodified lines
805801 return;
806802 }
807803
808− if (entity->isAvatarEntity() && entity->getOwningAvatarID() != sessionID && entity->getOwningAvatarID() != AVATAR_SELF_ID) {
804+ if (entity->isAvatarEntity() && !entity->isMyAvatarEntity()) {
809805 // don't edit other avatar's avatarEntities
810806 properties = EntityItemProperties();
811807 return;
@@ -978,10 +974,9 @@ void EntityScriptingInterface::deleteEntity(const QUuid& id) { · 166 unmodified lines
978974 _entityTree->withWriteLock([&] {
979975 EntityItemPointer entity = _entityTree->findEntityByEntityItemID(entityID);
980976 if (entity) {
981−
982977 auto nodeList = DependencyManager::get<NodeList>();
983978 const QUuid myNodeID = nodeList->getSessionUUID();
984− if (entity->isAvatarEntity() && entity->getOwningAvatarID() != myNodeID) {
979+ if (entity->isAvatarEntity() && !entity->isMyAvatarEntity()) {
985980 // don't delete other avatar's avatarEntities
986981 shouldSendDeleteToServer = false;
987982 return;
@@ -990,7 +985,7 @@ void EntityScriptingInterface::deleteEntity(const QUuid& id) { · 2 unmodified lines
990985 if (entity->getLocked()) {
991986 shouldSendDeleteToServer = false;
992987 } else {
993− // only delete local entities, server entities will round trip through the server filters
988+ // only delete non-domain entities, domain entities will round trip through the server filters
994989 if (!entity->isDomainEntity() || _entityTree->isServerlessMode()) {
995990 shouldSendDeleteToServer = false;
996991 _entityTree->deleteEntity(entityID);
@@ -1671,7 +1666,7 @@ bool EntityScriptingInterface::actionWorker(const QUuid& entityID, · 674 unmodified lines
16711666 return;
16721667 }
16731668
1674− if (entity->isAvatarEntity() && entity->getOwningAvatarID() != myNodeID) {
1669+ if (entity->isAvatarEntity() && !entity->isMyAvatarEntity()) {
16751670 return;
16761671 }
16771672

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t