Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 11 files). Show all
Unified · Split
| @@ -146,7 +146,17 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& · 145 unmodified lines | ||
| 146 | 146 | EntityItemProperties modifiedProperties = properties; |
| 147 | 147 | entity->setLastBroadcast(usecTimestampNow()); |
| 148 | 148 | modifiedProperties.setType(entity->getType()); |
| 149 | − bidForSimulationOwnership(modifiedProperties); | |
| 149 | + if (modifiedProperties.hasTerseUpdateChanges()) { | |
| 150 | + // we make a bid for (or assert) our simulation ownership | |
| 151 | + auto nodeList = DependencyManager::get<NodeList>(); | |
| 152 | + const QUuid myNodeID = nodeList->getSessionUUID(); | |
| 153 | + modifiedProperties.setSimulatorID(myNodeID); | |
| 154 | + | |
| 155 | + if (entity->getSimulatorID() == myNodeID) { | |
| 156 | + // we think we already own simulation, so make sure we send ALL TerseUpdate properties | |
| 157 | + entity->getAllTerseUpdateProperties(modifiedProperties); | |
| 158 | + } | |
| 159 | + } | |
| 150 | 160 | queueEntityMessage(PacketTypeEntityEdit, entityID, modifiedProperties); |
| 151 | 161 | return id; |
| 152 | 162 | } |