Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 66 files). Show all
Unified · Split
| @@ -116,19 +116,12 @@ void ScriptEngine::init() { · 115 unmodified lines | |||
| 116 | 116 | ||
| 117 | // register meta-type for glm::vec3 conversions | 117 | // register meta-type for glm::vec3 conversions |
| 118 | registerMetaTypes(&_engine); | 118 | registerMetaTypes(&_engine); |
| 119 | |||
| 120 | registerEventTypes(&_engine); | ||
| 119 | qScriptRegisterMetaType(&_engine, ParticlePropertiesToScriptValue, ParticlePropertiesFromScriptValue); | 121 | qScriptRegisterMetaType(&_engine, ParticlePropertiesToScriptValue, ParticlePropertiesFromScriptValue); |
| 120 | qScriptRegisterMetaType(&_engine, ParticleIDtoScriptValue, ParticleIDfromScriptValue); | 122 | qScriptRegisterMetaType(&_engine, ParticleIDtoScriptValue, ParticleIDfromScriptValue); |
| 121 | qScriptRegisterSequenceMetaType<QVector<ParticleID> >(&_engine); | 123 | qScriptRegisterSequenceMetaType<QVector<ParticleID> >(&_engine); |
| 122 | 124 | ||
| 123 | QScriptValue agentValue = _engine.newQObject(this); | ||
| 124 | _engine.globalObject().setProperty("Agent", agentValue); | ||
| 125 | |||
| 126 | QScriptValue voxelScripterValue = _engine.newQObject(&_voxelsScriptingInterface); | ||
| 127 | _engine.globalObject().setProperty("Voxels", voxelScripterValue); | ||
| 128 | |||
| 129 | QScriptValue particleScripterValue = _engine.newQObject(&_particlesScriptingInterface); | ||
| 130 | _engine.globalObject().setProperty("Particles", particleScripterValue); | ||
| 131 | |||
| 132 | QScriptValue soundConstructorValue = _engine.newFunction(soundConstructor); | 125 | QScriptValue soundConstructorValue = _engine.newFunction(soundConstructor); |
| 133 | QScriptValue soundMetaObject = _engine.newQMetaObject(&Sound::staticMetaObject, soundConstructorValue); | 126 | QScriptValue soundMetaObject = _engine.newQMetaObject(&Sound::staticMetaObject, soundConstructorValue); |
| 134 | _engine.globalObject().setProperty("Sound", soundMetaObject); | 127 | _engine.globalObject().setProperty("Sound", soundMetaObject); |
| @@ -136,15 +129,14 @@ void ScriptEngine::init() { · 1 unmodified line | |||
| 136 | QScriptValue injectionOptionValue = _engine.scriptValueFromQMetaObject<AudioInjectorOptions>(); | 129 | QScriptValue injectionOptionValue = _engine.scriptValueFromQMetaObject<AudioInjectorOptions>(); |
| 137 | _engine.globalObject().setProperty("AudioInjectionOptions", injectionOptionValue); | 130 | _engine.globalObject().setProperty("AudioInjectionOptions", injectionOptionValue); |
| 138 | 131 | ||
| 139 | QScriptValue audioScriptingInterfaceValue = _engine.newQObject(&_audioScriptingInterface); | 132 | registerGlobalObject("Agent", this); |
| 140 | _engine.globalObject().setProperty("Audio", audioScriptingInterfaceValue); | 133 | registerGlobalObject("Audio", &_audioScriptingInterface); |
| 141 | 134 | registerGlobalObject("Controller", _controllerScriptingInterface); | |
| 142 | registerGlobalObject("Data", &_dataServerScriptingInterface); | 135 | registerGlobalObject("Data", &_dataServerScriptingInterface); |
| 136 | registerGlobalObject("Particles", &_particlesScriptingInterface); | ||
| 137 | registerGlobalObject("Quat", &_quatLibrary); | ||
| 143 | 138 | ||
| 144 | if (_controllerScriptingInterface) { | 139 | registerGlobalObject("Voxels", &_voxelsScriptingInterface); |
| 145 | QScriptValue controllerScripterValue = _engine.newQObject(_controllerScriptingInterface); | ||
| 146 | _engine.globalObject().setProperty("Controller", controllerScripterValue); | ||
| 147 | } | ||
| 148 | 140 | ||
| 149 | QScriptValue treeScaleValue = _engine.newVariant(QVariant(TREE_SCALE)); | 141 | QScriptValue treeScaleValue = _engine.newVariant(QVariant(TREE_SCALE)); |
| 150 | _engine.globalObject().setProperty("TREE_SCALE", treeScaleValue); | 142 | _engine.globalObject().setProperty("TREE_SCALE", treeScaleValue); |
| @@ -157,8 +149,10 @@ void ScriptEngine::init() { · 6 unmodified lines | |||
| 157 | } | 149 | } |
| 158 | 150 | ||
| 159 | void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { | 151 | void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { |
| 160 | QScriptValue value = _engine.newQObject(object); | 152 | if (object) { |
| 161 | _engine.globalObject().setProperty(name, value); | 153 | QScriptValue value = _engine.newQObject(object); |
| 154 | _engine.globalObject().setProperty(name, value); | ||
| 155 | } | ||
| 162 | } | 156 | } |
| 163 | 157 | ||
| 164 | void ScriptEngine::evaluate() { | 158 | void ScriptEngine::evaluate() { |