History

Move EntityScriptingInterface instance to DependencyManager

Ryan Huffman committed 11 years ago

Commit b370e021 parent 98e0f236 files · +31 −37Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+12−20
@@ -44,8 +44,6 @@ · 43 unmodified lines
4444 #include "MIDIEvent.h"
4545
4646
47−EntityScriptingInterface* ScriptEngine::_entityScriptingInterface;
48−
4947 static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){
5048 qDebug() << "script:print()<<" << context->argument(0).toString();
5149 QString message = context->argument(0).toString()
@@ -73,13 +71,6 @@ void inputControllerFromScriptValue(const QScriptValue &object, AbstractInputCon · 21 unmodified lines
7371 out = qobject_cast<AbstractInputController*>(object.toQObject());
7472 }
7573
76−EntityScriptingInterface* ScriptEngine::getEntityScriptingInterface() {
77− if (!_entityScriptingInterface) {
78− _entityScriptingInterface = new EntityScriptingInterface();
79− }
80− return _entityScriptingInterface;
81−}
82−
8374 ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString,
8475 AbstractControllerScriptingInterface* controllerScriptingInterface) :
8576
@@ -104,7 +95,6 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 18 unmodified lines
10495 _isUserLoaded(false),
10596 _arrayBufferClass(new ArrayBufferClass(this))
10697 {
107− getEntityScriptingInterface();
10898 _allScriptsMutex.lock();
10999 _allKnownScriptEngines.insert(this);
110100 _allScriptsMutex.unlock();
@@ -322,7 +312,8 @@ void ScriptEngine::init() { · 211 unmodified lines
322312
323313 auto sceneScriptingInterface = DependencyManager::set<SceneScriptingInterface>();
324314
325− _entityScriptingInterface->init();
315+ auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
316+ entityScriptingInterface->init();
326317
327318 // register various meta-types
328319 registerMetaTypes(this);
@@ -360,7 +351,7 @@ void ScriptEngine::init() { · 31 unmodified lines
360351 registerGlobalObject("Script", this);
361352 registerGlobalObject("Audio", &AudioScriptingInterface::getInstance());
362353 registerGlobalObject("Controller", _controllerScriptingInterface);
363− registerGlobalObject("Entities", _entityScriptingInterface);
354+ registerGlobalObject("Entities", entityScriptingInterface.data());
364355 registerGlobalObject("Quat", &_quatLibrary);
365356 registerGlobalObject("Vec3", &_vec3Library);
366357 registerGlobalObject("Uuid", &_uuidLibrary);
@@ -478,6 +469,7 @@ void ScriptEngine::run() { · 111 unmodified lines
478469 int thisFrame = 0;
479470
480471 auto nodeList = DependencyManager::get<NodeList>();
472+ auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
481473
482474 qint64 lastUpdate = usecTimestampNow();
483475
@@ -497,13 +489,13 @@ void ScriptEngine::run() { · 13 unmodified lines
497489 break;
498490 }
499491
500− if (!_isFinished && _entityScriptingInterface->getEntityPacketSender()->serversExist()) {
492+ if (!_isFinished && entityScriptingInterface->getEntityPacketSender()->serversExist()) {
501493 // release the queue of edit entity messages.
502− _entityScriptingInterface->getEntityPacketSender()->releaseQueuedMessages();
494+ entityScriptingInterface->getEntityPacketSender()->releaseQueuedMessages();
503495
504496 // since we're in non-threaded mode, call process so that the packets are sent
505− if (!_entityScriptingInterface->getEntityPacketSender()->isThreaded()) {
506− _entityScriptingInterface->getEntityPacketSender()->process();
497+ if (!entityScriptingInterface->getEntityPacketSender()->isThreaded()) {
498+ entityScriptingInterface->getEntityPacketSender()->process();
507499 }
508500 }
509501
@@ -630,13 +622,13 @@ void ScriptEngine::run() { · 120 unmodified lines
630622 // kill the avatar identity timer
631623 delete _avatarIdentityTimer;
632624
633− if (_entityScriptingInterface->getEntityPacketSender()->serversExist()) {
625+ if (entityScriptingInterface->getEntityPacketSender()->serversExist()) {
634626 // release the queue of edit entity messages.
635− _entityScriptingInterface->getEntityPacketSender()->releaseQueuedMessages();
627+ entityScriptingInterface->getEntityPacketSender()->releaseQueuedMessages();
636628
637629 // since we're in non-threaded mode, call process so that the packets are sent
638− if (!_entityScriptingInterface->getEntityPacketSender()->isThreaded()) {
639− _entityScriptingInterface->getEntityPacketSender()->process();
630+ if (!entityScriptingInterface->getEntityPacketSender()->isThreaded()) {
631+ entityScriptingInterface->getEntityPacketSender()->process();
640632 }
641633 }
642634