Refactoring: split items
This commit is contained in:
@@ -468,6 +468,31 @@ WaterModule::WaterModule(flecs::world &ecs)
|
||||
std::cout << "Water setup done\n";
|
||||
ECS::get().add<WaterAlmostReady>();
|
||||
})
|
||||
.on_remove([](flecs::entity e, WaterSurface &water) {
|
||||
const Ogre::String renderTargetName =
|
||||
"ReflectionRefractionTexture";
|
||||
ECS::get<EngineData>()
|
||||
.mScnMgr->getRenderQueue()
|
||||
->setRenderableListener(nullptr);
|
||||
water.mReflectionTexture->removeAllViewports();
|
||||
ECS::get<EngineData>().mScnMgr->destroyCamera(
|
||||
water.mRefractionCamera);
|
||||
ECS::get<EngineData>().mScnMgr->destroyCamera(
|
||||
water.mRefractionDepthCamera);
|
||||
ECS::get<EngineData>().mScnMgr->destroyCamera(
|
||||
water.mReflectionCamera);
|
||||
ECS::get<EngineData>().mScnMgr->destroyCamera(
|
||||
water.mReflectionDepthCamera);
|
||||
Ogre::TextureManager::getSingleton().remove(
|
||||
renderTargetName);
|
||||
water.mWaterNode->destroyAllChildrenAndObjects();
|
||||
ECS::get<EngineData>().mScnMgr->destroySceneNode(
|
||||
water.mWaterNode);
|
||||
Ogre::MaterialManager::getSingleton().remove(
|
||||
"Water/Depth");
|
||||
Ogre::MaterialManager::getSingleton().remove(
|
||||
"Water/Above");
|
||||
})
|
||||
.add(flecs::Singleton);
|
||||
#if 0
|
||||
ecs.component<WaterBody>().add(flecs::Singleton);
|
||||
|
||||
Reference in New Issue
Block a user