History

Update ScriptEngine to store full running status off entity scripts

Ryan Huffman committed 9 years ago

Commit cbb55a01 parent 89d12423 files · +93 −42Browse files

Showing the changes to assignment-client/src/scripts/EntityScriptServer.cpp (1 of 3 files). Show all

Unified · Split

assignment-client/src/scripts/EntityScriptServer.cpp+15−9
@@ -11,8 +11,11 @@ · 10 unmodified lines
1111
1212 #include "EntityScriptServer.h"
1313
14+#include "EntityScriptUtils.h"
15+
1416 #include <AudioConstants.h>
1517 #include <AudioInjectorManager.h>
18+#include <src/entities/AssignmentParentFinder.h>
1619 #include <EntityScriptingInterface.h>
1720 #include <MessagesClient.h>
1821 #include <plugins/CodecPlugin.h>
@@ -23,8 +26,6 @@ · 4 unmodified lines
2326 #include <SoundCache.h>
2427 #include <WebSocketServerClass.h>
2528
26−#include "../entities/AssignmentParentFinder.h"
27−
2829 const size_t UUID_LENGTH_BYTES = 16;
2930
3031 int EntityScriptServer::_entitiesScriptEngineCount = 0;
@@ -75,16 +76,21 @@ void EntityScriptServer::handleEntityScriptGetStatusPacket(QSharedPointer<Receiv · 44 unmodified lines
7576 MessageID messageID;
7677 message->readPrimitive(&messageID);
7778 auto entityID = QUuid::fromRfc4122(message->read(UUID_LENGTH_BYTES));
78−
79− // TODO(Huffman) Get Status
8079
81− qDebug() << "Getting script status of: " << entityID;
82− auto replyPacket = NLPacket::create(PacketType::EntityScriptGetStatusReply, -1, true);
83− replyPacket->writePrimitive(messageID);
84− replyPacket->writeString("running");
80+ auto replyPacketList = NLPacketList::create(PacketType::EntityScriptGetStatusReply, QByteArray(), true, true);
81+ replyPacketList->writePrimitive(messageID);
82+
83+ EntityScriptDetails details;
84+ if (_entitiesScriptEngine->getEntityScriptDetails(entityID, details)) {
85+ replyPacketList->writePrimitive(true);
86+ replyPacketList->writePrimitive(details.status);
87+ replyPacketList->writeString(details.errorInfo);
88+ } else {
89+ replyPacketList->writePrimitive(false);
90+ }
8591
8692 auto nodeList = DependencyManager::get<NodeList>();
87− nodeList->sendPacket(std::move(replyPacket), *senderNode);
93+ nodeList->sendPacketList(std::move(replyPacketList), *senderNode);
8894 }
8995
9096 void EntityScriptServer::run() {