New Controller interfaces/api
Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 183 files). Show all
Unified · Split
| @@ -28,7 +28,9 @@ · 27 unmodified lines | |||
| 28 | #include <udt/PacketHeaders.h> | 28 | #include <udt/PacketHeaders.h> |
| 29 | #include <UUID.h> | 29 | #include <UUID.h> |
| 30 | 30 | ||
| 31 | #include "AnimationObject.h" | 31 | #include <controllers/ScriptingInterface.h> |
| 32 | #include <AnimationObject.h> | ||
| 33 | |||
| 32 | #include "ArrayBufferViewClass.h" | 34 | #include "ArrayBufferViewClass.h" |
| 33 | #include "BatchLoader.h" | 35 | #include "BatchLoader.h" |
| 34 | #include "DataViewClass.h" | 36 | #include "DataViewClass.h" |
| @@ -76,13 +78,16 @@ void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) { · 41 unmodified lines | |||
| 76 | out = qobject_cast<AvatarData*>(object.toQObject()); | 78 | out = qobject_cast<AvatarData*>(object.toQObject()); |
| 77 | } | 79 | } |
| 78 | 80 | ||
| 79 | QScriptValue inputControllerToScriptValue(QScriptEngine *engine, AbstractInputController* const &in) { | 81 | QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) { |
| 80 | return engine->newQObject(in); | 82 | return engine->newQObject(in); |
| 81 | } | 83 | } |
| 82 | void inputControllerFromScriptValue(const QScriptValue &object, AbstractInputController* &out) { | 84 | |
| 83 | out = qobject_cast<AbstractInputController*>(object.toQObject()); | 85 | void inputControllerFromScriptValue(const QScriptValue &object, controller::InputController* &out) { |
| 86 | out = qobject_cast<controller::InputController*>(object.toQObject()); | ||
| 84 | } | 87 | } |
| 85 | 88 | ||
| 89 | |||
| 90 | |||
| 86 | static bool hasCorrectSyntax(const QScriptProgram& program) { | 91 | static bool hasCorrectSyntax(const QScriptProgram& program) { |
| 87 | const auto syntaxCheck = QScriptEngine::checkSyntax(program.sourceCode()); | 92 | const auto syntaxCheck = QScriptEngine::checkSyntax(program.sourceCode()); |
| 88 | if (syntaxCheck.state() != QScriptSyntaxCheckResult::Valid) { | 93 | if (syntaxCheck.state() != QScriptSyntaxCheckResult::Valid) { |
| @@ -114,16 +119,13 @@ static bool hadUncaughtExceptions(QScriptEngine& engine, const QString& fileName · 25 unmodified lines | |||
| 114 | return false; | 119 | return false; |
| 115 | } | 120 | } |
| 116 | 121 | ||
| 117 | ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString, | 122 | ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString, bool wantSignals) : |
| 118 | AbstractControllerScriptingInterface* controllerScriptingInterface, bool wantSignals) : | ||
| 119 | |||
| 120 | _scriptContents(scriptContents), | 123 | _scriptContents(scriptContents), |
| 121 | _isFinished(false), | 124 | _isFinished(false), |
| 122 | _isRunning(false), | 125 | _isRunning(false), |
| 123 | _isInitialized(false), | 126 | _isInitialized(false), |
| 124 | _timerFunctionMap(), | 127 | _timerFunctionMap(), |
| 125 | _wantSignals(wantSignals), | 128 | _wantSignals(wantSignals), |
| 126 | _controllerScriptingInterface(controllerScriptingInterface), | ||
| 127 | _fileNameString(fileNameString), | 129 | _fileNameString(fileNameString), |
| 128 | _isUserLoaded(false), | 130 | _isUserLoaded(false), |
| 129 | _isReloading(false), | 131 | _isReloading(false), |
| @@ -358,7 +360,6 @@ void ScriptEngine::init() { · 228 unmodified lines | |||
| 358 | 360 | ||
| 359 | registerGlobalObject("Script", this); | 361 | registerGlobalObject("Script", this); |
| 360 | registerGlobalObject("Audio", &AudioScriptingInterface::getInstance()); | 362 | registerGlobalObject("Audio", &AudioScriptingInterface::getInstance()); |
| 361 | registerGlobalObject("Controller", _controllerScriptingInterface); | ||
| 362 | registerGlobalObject("Entities", entityScriptingInterface.data()); | 363 | registerGlobalObject("Entities", entityScriptingInterface.data()); |
| 363 | registerGlobalObject("Quat", &_quatLibrary); | 364 | registerGlobalObject("Quat", &_quatLibrary); |
| 364 | registerGlobalObject("Vec3", &_vec3Library); | 365 | registerGlobalObject("Vec3", &_vec3Library); |
| @@ -370,11 +371,9 @@ void ScriptEngine::init() { · 5 unmodified lines | |||
| 370 | // constants | 371 | // constants |
| 371 | globalObject().setProperty("TREE_SCALE", newVariant(QVariant(TREE_SCALE))); | 372 | globalObject().setProperty("TREE_SCALE", newVariant(QVariant(TREE_SCALE))); |
| 372 | 373 | ||
| 373 | if (_controllerScriptingInterface) { | 374 | auto scriptingInterface = DependencyManager::get<controller::ScriptingInterface>(); |
| 374 | _controllerScriptingInterface->registerControllerTypes(this); | 375 | registerGlobalObject("Controller", scriptingInterface.data()); |
| 375 | } | 376 | UserInputMapper::registerControllerTypes(this); |
| 376 | |||
| 377 | |||
| 378 | } | 377 | } |
| 379 | 378 | ||
| 380 | void ScriptEngine::registerValue(const QString& valueName, QScriptValue value) { | 379 | void ScriptEngine::registerValue(const QString& valueName, QScriptValue value) { |