Showing the changes to assignment-client/src/scripts/EntityScriptServer.cpp (1 of 1 file). Show all
Unified · Split
| @@ -62,34 +62,38 @@ EntityScriptServer::EntityScriptServer(ReceivedMessage& message) : ThreadedAssig · 61 unmodified lines | ||
| 62 | 62 | static const QString ENTITY_SCRIPT_SERVER_LOGGING_NAME = "entity-script-server"; |
| 63 | 63 | |
| 64 | 64 | void EntityScriptServer::handleReloadEntityServerScriptPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) { |
| 65 | − auto entityID = QUuid::fromRfc4122(message->read(NUM_BYTES_RFC4122_UUID)); | |
| 65 | + if (senderNode->getCanRez() || senderNode->getCanRezTmp()) { | |
| 66 | + auto entityID = QUuid::fromRfc4122(message->read(NUM_BYTES_RFC4122_UUID)); | |
| 66 | 67 | |
| 67 | − if (_entityViewer.getTree() && !_shuttingDown) { | |
| 68 | − qDebug() << "Reloading: " << entityID; | |
| 69 | − _entitiesScriptEngine->unloadEntityScript(entityID); | |
| 70 | − checkAndCallPreload(entityID, true); | |
| 68 | + if (_entityViewer.getTree() && !_shuttingDown) { | |
| 69 | + qDebug() << "Reloading: " << entityID; | |
| 70 | + _entitiesScriptEngine->unloadEntityScript(entityID); | |
| 71 | + checkAndCallPreload(entityID, true); | |
| 72 | + } | |
| 71 | 73 | } |
| 72 | 74 | } |
| 73 | 75 | |
| 74 | 76 | void EntityScriptServer::handleEntityScriptGetStatusPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) { |
| 75 | − MessageID messageID; | |
| 76 | − message->readPrimitive(&messageID); | |
| 77 | − auto entityID = QUuid::fromRfc4122(message->read(UUID_LENGTH_BYTES)); | |
| 78 | − | |
| 79 | − auto replyPacketList = NLPacketList::create(PacketType::EntityScriptGetStatusReply, QByteArray(), true, true); | |
| 80 | − replyPacketList->writePrimitive(messageID); | |
| 81 | − | |
| 82 | − EntityScriptDetails details; | |
| 83 | − if (_entitiesScriptEngine->getEntityScriptDetails(entityID, details)) { | |
| 84 | − replyPacketList->writePrimitive(true); | |
| 85 | − replyPacketList->writePrimitive(details.status); | |
| 86 | − replyPacketList->writeString(details.errorInfo); | |
| 87 | − } else { | |
| 88 | − replyPacketList->writePrimitive(false); | |
| 89 | − } | |
| 77 | + if (senderNode->getCanRez() || senderNode->getCanRezTmp()) { | |
| 78 | + MessageID messageID; | |
| 79 | + message->readPrimitive(&messageID); | |
| 80 | + auto entityID = QUuid::fromRfc4122(message->read(NUM_BYTES_RFC4122_UUID)); | |
| 81 | + | |
| 82 | + auto replyPacketList = NLPacketList::create(PacketType::EntityScriptGetStatusReply, QByteArray(), true, true); | |
| 83 | + replyPacketList->writePrimitive(messageID); | |
| 84 | + | |
| 85 | + EntityScriptDetails details; | |
| 86 | + if (_entitiesScriptEngine->getEntityScriptDetails(entityID, details)) { | |
| 87 | + replyPacketList->writePrimitive(true); | |
| 88 | + replyPacketList->writePrimitive(details.status); | |
| 89 | + replyPacketList->writeString(details.errorInfo); | |
| 90 | + } else { | |
| 91 | + replyPacketList->writePrimitive(false); | |
| 92 | + } | |
| 90 | 93 | |
| 91 | − auto nodeList = DependencyManager::get<NodeList>(); | |
| 92 | − nodeList->sendPacketList(std::move(replyPacketList), *senderNode); | |
| 94 | + auto nodeList = DependencyManager::get<NodeList>(); | |
| 95 | + nodeList->sendPacketList(std::move(replyPacketList), *senderNode); | |
| 96 | + } | |
| 93 | 97 | } |
| 94 | 98 | |
| 95 | 99 | void EntityScriptServer::run() { |