| 123456789101112131415161718192021222324252627282930313233343536 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Renderer/BsRendererExtension.h"
- #include "CoreThread/BsCoreThread.h"
- #include "Renderer/BsRendererManager.h"
- #include "Renderer/BsRenderer.h"
- namespace bs
- {
- void RendererExtension::_initializer(RendererExtension* obj, const Any& data)
- {
- auto coreInitializer = [=]()
- {
- RendererManager::instance().getActive()->addPlugin(obj);
- obj->initialize(data);
- };
- gCoreThread().queueCommand(coreInitializer);
- }
- void RendererExtension::_deleter(RendererExtension* obj)
- {
- auto deleteObj = [=]()
- {
- RendererManager::instance().getActive()->removePlugin(obj);
- obj->destroy();
- obj->~RendererExtension();
- bs_free(obj);
- };
- // Queue deletion on the core thread
- gCoreThread().queueCommand(deleteObj);
- }
- }
|