From febb306a629fb7484eb2c9b7a18c74feb56b4032 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 28 Jan 2014 19:46:59 -0800 Subject: [PATCH] cleaned up some registration of global objects --- libraries/script-engine/src/ScriptEngine.cpp | 30 +++++++------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 1bf8dbf696..6ca59137be 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -116,19 +116,12 @@ void ScriptEngine::init() { // register meta-type for glm::vec3 conversions registerMetaTypes(&_engine); + + registerEventTypes(&_engine); qScriptRegisterMetaType(&_engine, ParticlePropertiesToScriptValue, ParticlePropertiesFromScriptValue); qScriptRegisterMetaType(&_engine, ParticleIDtoScriptValue, ParticleIDfromScriptValue); qScriptRegisterSequenceMetaType >(&_engine); - QScriptValue agentValue = _engine.newQObject(this); - _engine.globalObject().setProperty("Agent", agentValue); - - QScriptValue voxelScripterValue = _engine.newQObject(&_voxelsScriptingInterface); - _engine.globalObject().setProperty("Voxels", voxelScripterValue); - - QScriptValue particleScripterValue = _engine.newQObject(&_particlesScriptingInterface); - _engine.globalObject().setProperty("Particles", particleScripterValue); - QScriptValue soundConstructorValue = _engine.newFunction(soundConstructor); QScriptValue soundMetaObject = _engine.newQMetaObject(&Sound::staticMetaObject, soundConstructorValue); _engine.globalObject().setProperty("Sound", soundMetaObject); @@ -136,15 +129,12 @@ void ScriptEngine::init() { QScriptValue injectionOptionValue = _engine.scriptValueFromQMetaObject(); _engine.globalObject().setProperty("AudioInjectionOptions", injectionOptionValue); - QScriptValue audioScriptingInterfaceValue = _engine.newQObject(&_audioScriptingInterface); - _engine.globalObject().setProperty("Audio", audioScriptingInterfaceValue); - + registerGlobalObject("Agent", this); + registerGlobalObject("Audio", &_audioScriptingInterface); + registerGlobalObject("Controller", _controllerScriptingInterface); registerGlobalObject("Data", &_dataServerScriptingInterface); - - if (_controllerScriptingInterface) { - QScriptValue controllerScripterValue = _engine.newQObject(_controllerScriptingInterface); - _engine.globalObject().setProperty("Controller", controllerScripterValue); - } + registerGlobalObject("Particles", &_particlesScriptingInterface); + registerGlobalObject("Voxels", &_voxelsScriptingInterface); QScriptValue treeScaleValue = _engine.newVariant(QVariant(TREE_SCALE)); _engine.globalObject().setProperty("TREE_SCALE", treeScaleValue); @@ -157,8 +147,10 @@ void ScriptEngine::init() { } void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { - QScriptValue value = _engine.newQObject(object); - _engine.globalObject().setProperty(name, value); + if (object) { + QScriptValue value = _engine.newQObject(object); + _engine.globalObject().setProperty(name, value); + } } void ScriptEngine::evaluate() {