History

entity call params

James Pollack committed 11 years ago

Commit 751d51e1 parent f83c0e73 files · +34 −2Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+31−0
@@ -1200,6 +1200,37 @@ void ScriptEngine::callEntityScriptMethod(const EntityItemID& entityID, const QS · 1199 unmodified lines
1200 }1200 }
1201}1201}
1202 1202
1203void ScriptEngine::callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const QStringList& params) {
1204 if (QThread::currentThread() != thread()) {
1205 #ifdef THREAD_DEBUGGING
1206 qDebug() << "*** WARNING *** ScriptEngine::callEntityScriptMethod() called on wrong thread [" << QThread::currentThread() << "], invoking on correct thread [" << thread() << "] "
1207 "entityID:" << entityID << "methodName:" << methodName;
1208 #endif
1209
1210 QMetaObject::invokeMethod(this, "callEntityScriptMethod",
1211 Q_ARG(const EntityItemID&, entityID),
1212 Q_ARG(const QString&, methodName),
1213 Q_ARG(const QStringList&, params));
1214 return;
1215 }
1216 #ifdef THREAD_DEBUGGING
1217 qDebug() << "ScriptEngine::callEntityScriptMethod() called on correct thread [" << thread() << "] "
1218 "entityID:" << entityID << "methodName:" << methodName;
1219 #endif
1220
1221 refreshFileScript(entityID);
1222 if (_entityScripts.contains(entityID)) {
1223 EntityScriptDetails details = _entityScripts[entityID];
1224 QScriptValue entityScript = details.scriptObject; // previously loaded
1225 if (entityScript.property(methodName).isFunction()) {
1226 QScriptValueList args;
1227 args << entityID.toScriptValue(this);
1228 entityScript.property(methodName).call(entityScript, args);
1229 }
1230
1231 }
1232}
1233
1203void ScriptEngine::callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const MouseEvent& event) {1234void ScriptEngine::callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const MouseEvent& event) {
1204 if (QThread::currentThread() != thread()) {1235 if (QThread::currentThread() != thread()) {
1205 #ifdef THREAD_DEBUGGING1236 #ifdef THREAD_DEBUGGING