History

Merge branch master into protocol_changes

HifiExperiments committed 2 years ago

Commit ee705d21 parent f9e729b370 files · +11827 −6045Browse files

Showing the changes to libraries/script-engine/src/ScriptManagerScriptingInterface.cpp (1 of 370 files). Show all

Unified · Split

libraries/script-engine/src/ScriptManagerScriptingInterface.cpp+45−0
@@ -12,6 +12,7 @@ · 11 unmodified lines
1212
1313 #include "ScriptManager.h"
1414 #include "ScriptManagerScriptingInterface.h"
15+#include "ScriptEngines.h"
1516 #include "ScriptEngine.h"
1617 #include <QMetaType>
1718
@@ -88,3 +89,47 @@ void ScriptManagerScriptingInterface::startProfiling() { · 70 unmodified lines
8889 void ScriptManagerScriptingInterface::stopProfilingAndSave() {
8990 _manager->engine()->stopProfilingAndSave();
9091 }
92+
93+void ScriptManagerScriptingInterface::requestServerEntityScriptMessages() {
94+ if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) {
95+ _manager->engine()->raiseException("Uuid needs to be specified when requestServerEntityScriptMessages is invoked from entity script");
96+ } else {
97+ auto scriptEngines = DependencyManager::get<ScriptEngines>().data();
98+ scriptEngines->requestServerEntityScriptMessages(_manager);
99+ }
100+}
101+
102+void ScriptManagerScriptingInterface::requestServerEntityScriptMessages(const QUuid& entityID) {
103+ if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) {
104+ auto scriptEngines = DependencyManager::get<ScriptEngines>().data();
105+ scriptEngines->requestServerEntityScriptMessages(_manager, entityID);
106+ } else {
107+ _manager->engine()->raiseException("Uuid must not be specified when requestServerEntityScriptMessages is invoked from entity script");
108+ }
109+}
110+
111+void ScriptManagerScriptingInterface::removeServerEntityScriptMessagesRequest() {
112+ if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) {
113+ _manager->engine()->raiseException("Uuid needs to be specified when removeServerEntityScriptMessagesRequest is invoked from entity script");
114+ } else {
115+ auto scriptEngines = DependencyManager::get<ScriptEngines>().data();
116+ scriptEngines->removeServerEntityScriptMessagesRequest(_manager);
117+ }
118+}
119+
120+void ScriptManagerScriptingInterface::removeServerEntityScriptMessagesRequest(const QUuid& entityID) {
121+ if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) {
122+ auto scriptEngines = DependencyManager::get<ScriptEngines>().data();
123+ scriptEngines->removeServerEntityScriptMessagesRequest(_manager, entityID);
124+ } else {
125+ _manager->engine()->raiseException("Uuid must not be specified when removeServerEntityScriptMessagesRequest is invoked from entity script");
126+ }
127+}
128+
129+QString ScriptManagerScriptingInterface::btoa(const QByteArray &binary) {
130+ return binary.toBase64();
131+}
132+
133+QByteArray ScriptManagerScriptingInterface::atob(const QString &base64) {
134+ return QByteArray::fromBase64(base64.toUtf8());
135+}