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 | static const QString ENTITY_SCRIPT_SERVER_LOGGING_NAME = "entity-script-server"; | 62 | static const QString ENTITY_SCRIPT_SERVER_LOGGING_NAME = "entity-script-server"; |
| 63 | 63 | ||
| 64 | void EntityScriptServer::handleReloadEntityServerScriptPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) { | 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 | if (_entityViewer.getTree() && !_shuttingDown) { |
| 68 | qDebug() << "Reloading: " << entityID; | 69 | qDebug() << "Reloading: " << entityID; |
| 69 | _entitiesScriptEngine->unloadEntityScript(entityID); | 70 | _entitiesScriptEngine->unloadEntityScript(entityID); |
| 70 | checkAndCallPreload(entityID, true); | 71 | checkAndCallPreload(entityID, true); |
| 72 | } | ||
| 71 | } | 73 | } |
| 72 | } | 74 | } |
| 73 | 75 | ||
| 74 | void EntityScriptServer::handleEntityScriptGetStatusPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) { | 76 | void EntityScriptServer::handleEntityScriptGetStatusPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) { |
| 75 | MessageID messageID; | 77 | if (senderNode->getCanRez() || senderNode->getCanRezTmp()) { |
| 76 | message->readPrimitive(&messageID); | 78 | MessageID messageID; |
| 77 | auto entityID = QUuid::fromRfc4122(message->read(UUID_LENGTH_BYTES)); | 79 | message->readPrimitive(&messageID); |
| 78 | 80 | auto entityID = QUuid::fromRfc4122(message->read(NUM_BYTES_RFC4122_UUID)); | |
| 79 | auto replyPacketList = NLPacketList::create(PacketType::EntityScriptGetStatusReply, QByteArray(), true, true); | 81 | |
| 80 | replyPacketList->writePrimitive(messageID); | 82 | auto replyPacketList = NLPacketList::create(PacketType::EntityScriptGetStatusReply, QByteArray(), true, true); |
| 81 | 83 | replyPacketList->writePrimitive(messageID); | |
| 82 | EntityScriptDetails details; | 84 | |
| 83 | if (_entitiesScriptEngine->getEntityScriptDetails(entityID, details)) { | 85 | EntityScriptDetails details; |
| 84 | replyPacketList->writePrimitive(true); | 86 | if (_entitiesScriptEngine->getEntityScriptDetails(entityID, details)) { |
| 85 | replyPacketList->writePrimitive(details.status); | 87 | replyPacketList->writePrimitive(true); |
| 86 | replyPacketList->writeString(details.errorInfo); | 88 | replyPacketList->writePrimitive(details.status); |
| 87 | } else { | 89 | replyPacketList->writeString(details.errorInfo); |
| 88 | replyPacketList->writePrimitive(false); | 90 | } else { |
| 89 | } | 91 | replyPacketList->writePrimitive(false); |
| 92 | } | ||
| 90 | 93 | ||
| 91 | auto nodeList = DependencyManager::get<NodeList>(); | 94 | auto nodeList = DependencyManager::get<NodeList>(); |
| 92 | nodeList->sendPacketList(std::move(replyPacketList), *senderNode); | 95 | nodeList->sendPacketList(std::move(replyPacketList), *senderNode); |
| 96 | } | ||
| 93 | } | 97 | } |
| 94 | 98 | ||
| 95 | void EntityScriptServer::run() { | 99 | void EntityScriptServer::run() { |