mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 10:17:40 +02:00
when updating queryAACubes for children, use the lastEdited from the parent's properties
This commit is contained in:
parent
4f8a7a080f
commit
d5f3447fbc
4 changed files with 5 additions and 5 deletions
|
@ -383,6 +383,7 @@ void MyAvatar::simulate(float deltaTime) {
|
||||||
EntityTreeRenderer* entityTreeRenderer = qApp->getEntities();
|
EntityTreeRenderer* entityTreeRenderer = qApp->getEntities();
|
||||||
EntityTreePointer entityTree = entityTreeRenderer ? entityTreeRenderer->getTree() : nullptr;
|
EntityTreePointer entityTree = entityTreeRenderer ? entityTreeRenderer->getTree() : nullptr;
|
||||||
if (entityTree) {
|
if (entityTree) {
|
||||||
|
auto now = usecTimestampNow();
|
||||||
EntityEditPacketSender* packetSender = qApp->getEntityEditPacketSender();
|
EntityEditPacketSender* packetSender = qApp->getEntityEditPacketSender();
|
||||||
MovingEntitiesOperator moveOperator(entityTree);
|
MovingEntitiesOperator moveOperator(entityTree);
|
||||||
forEachDescendant([&](SpatiallyNestablePointer object) {
|
forEachDescendant([&](SpatiallyNestablePointer object) {
|
||||||
|
@ -397,7 +398,6 @@ void MyAvatar::simulate(float deltaTime) {
|
||||||
if (packetSender) {
|
if (packetSender) {
|
||||||
EntityItemProperties properties = entity->getProperties();
|
EntityItemProperties properties = entity->getProperties();
|
||||||
properties.setQueryAACubeDirty();
|
properties.setQueryAACubeDirty();
|
||||||
auto now = usecTimestampNow();
|
|
||||||
properties.setLastEdited(now);
|
properties.setLastEdited(now);
|
||||||
packetSender->queueEditEntityMessage(PacketType::EntityEdit, entity->getID(), properties);
|
packetSender->queueEditEntityMessage(PacketType::EntityEdit, entity->getID(), properties);
|
||||||
entity->setLastBroadcast(usecTimestampNow());
|
entity->setLastBroadcast(usecTimestampNow());
|
||||||
|
|
|
@ -41,6 +41,8 @@ void EntityEditPacketSender::queueEditEntityMessage(PacketType type, EntityItemI
|
||||||
return; // bail early
|
return; // bail early
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(properties.getLastEdited() > 0);
|
||||||
|
|
||||||
QByteArray bufferOut(NLPacket::maxPayloadSize(type), 0);
|
QByteArray bufferOut(NLPacket::maxPayloadSize(type), 0);
|
||||||
|
|
||||||
if (EntityItemProperties::encodeEntityEditPacket(type, modelID, properties, bufferOut)) {
|
if (EntityItemProperties::encodeEntityEditPacket(type, modelID, properties, bufferOut)) {
|
||||||
|
|
|
@ -345,8 +345,7 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties&
|
||||||
EntityItemPointer entityDescendant = std::static_pointer_cast<EntityItem>(descendant);
|
EntityItemPointer entityDescendant = std::static_pointer_cast<EntityItem>(descendant);
|
||||||
EntityItemProperties newQueryCubeProperties;
|
EntityItemProperties newQueryCubeProperties;
|
||||||
newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube());
|
newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube());
|
||||||
auto now = usecTimestampNow();
|
newQueryCubeProperties.setLastEdited(properties.getLastEdited());
|
||||||
newQueryCubeProperties.setLastEdited(now);
|
|
||||||
queueEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties);
|
queueEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties);
|
||||||
entityDescendant->setLastBroadcast(usecTimestampNow());
|
entityDescendant->setLastBroadcast(usecTimestampNow());
|
||||||
}
|
}
|
||||||
|
|
|
@ -527,8 +527,7 @@ void EntityMotionState::sendUpdate(OctreeEditPacketSender* packetSender, const Q
|
||||||
if (descendant->computePuffedQueryAACube()) {
|
if (descendant->computePuffedQueryAACube()) {
|
||||||
EntityItemProperties newQueryCubeProperties;
|
EntityItemProperties newQueryCubeProperties;
|
||||||
newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube());
|
newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube());
|
||||||
auto now = usecTimestampNow();
|
newQueryCubeProperties.setLastEdited(properties.getLastEdited());
|
||||||
newQueryCubeProperties.setLastEdited(now);
|
|
||||||
entityPacketSender->queueEditEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties);
|
entityPacketSender->queueEditEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties);
|
||||||
entityDescendant->setLastBroadcast(usecTimestampNow());
|
entityDescendant->setLastBroadcast(usecTimestampNow());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue