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