void EntityScriptServer::aboutToFinish() { shutdownScriptEngine(); auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>(); // our entity tree is going to go away so tell that to the EntityScriptingInterface entityScriptingInterface->setEntityTree(nullptr); // Should always be true as they are singletons. if (entityScriptingInterface->getPacketSender() == &_entityEditSender) { // The packet sender is about to go away. entityScriptingInterface->setPacketSender(nullptr); } DependencyManager::get<ResourceManager>()->cleanup(); // cleanup the AudioInjectorManager (and any still running injectors) DependencyManager::destroy<AudioInjectorManager>(); DependencyManager::destroy<ScriptEngines>(); DependencyManager::destroy<EntityScriptServerServices>(); // cleanup codec & encoder if (_codec && _encoder) { _codec->releaseEncoder(_encoder); _encoder = nullptr; } }
void EntityScriptServer::aboutToFinish() { shutdownScriptEngine(); DependencyManager::destroy<AssignmentDynamicFactory>(); DependencyManager::destroy<AssignmentParentFinder>(); DependencyManager::get<ResourceManager>()->cleanup(); DependencyManager::destroy<PluginManager>(); DependencyManager::destroy<ResourceScriptingInterface>(); DependencyManager::destroy<EntityScriptingInterface>(); // cleanup the AudioInjectorManager (and any still running injectors) DependencyManager::destroy<AudioInjectorManager>(); DependencyManager::destroy<ScriptEngines>(); DependencyManager::destroy<EntityScriptServerServices>(); // cleanup codec & encoder if (_codec && _encoder) { _codec->releaseEncoder(_encoder); _encoder = nullptr; } }