History

Merge pull request #6242 from highfidelity/controllers

New Controller interfaces/api

Brad Hefta-Gaub committed 11 years ago

Commit 88394582 parents 56e1055 b5fd342183 files · +8590 −3939Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+13−14
@@ -28,7 +28,9 @@ · 27 unmodified lines
2828 #include <udt/PacketHeaders.h>
2929 #include <UUID.h>
3030
31−#include "AnimationObject.h"
31+#include <controllers/ScriptingInterface.h>
32+#include <AnimationObject.h>
33+
3234 #include "ArrayBufferViewClass.h"
3335 #include "BatchLoader.h"
3436 #include "DataViewClass.h"
@@ -76,13 +78,16 @@ void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) { · 41 unmodified lines
7678 out = qobject_cast<AvatarData*>(object.toQObject());
7779 }
7880
79−QScriptValue inputControllerToScriptValue(QScriptEngine *engine, AbstractInputController* const &in) {
81+QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) {
8082 return engine->newQObject(in);
8183 }
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());
8487 }
8588
89+
90+
8691 static bool hasCorrectSyntax(const QScriptProgram& program) {
8792 const auto syntaxCheck = QScriptEngine::checkSyntax(program.sourceCode());
8893 if (syntaxCheck.state() != QScriptSyntaxCheckResult::Valid) {
@@ -114,16 +119,13 @@ static bool hadUncaughtExceptions(QScriptEngine& engine, const QString& fileName · 25 unmodified lines
114119 return false;
115120 }
116121
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) :
120123 _scriptContents(scriptContents),
121124 _isFinished(false),
122125 _isRunning(false),
123126 _isInitialized(false),
124127 _timerFunctionMap(),
125128 _wantSignals(wantSignals),
126− _controllerScriptingInterface(controllerScriptingInterface),
127129 _fileNameString(fileNameString),
128130 _isUserLoaded(false),
129131 _isReloading(false),
@@ -358,7 +360,6 @@ void ScriptEngine::init() { · 228 unmodified lines
358360
359361 registerGlobalObject("Script", this);
360362 registerGlobalObject("Audio", &AudioScriptingInterface::getInstance());
361− registerGlobalObject("Controller", _controllerScriptingInterface);
362363 registerGlobalObject("Entities", entityScriptingInterface.data());
363364 registerGlobalObject("Quat", &_quatLibrary);
364365 registerGlobalObject("Vec3", &_vec3Library);
@@ -370,11 +371,9 @@ void ScriptEngine::init() { · 5 unmodified lines
370371 // constants
371372 globalObject().setProperty("TREE_SCALE", newVariant(QVariant(TREE_SCALE)));
372373
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);
378377 }
379378
380379 void ScriptEngine::registerValue(const QString& valueName, QScriptValue value) {