#include "BsMaterialRTTI.h" #include "BsMaterialManager.h" #include "BsMaterialParams.h" namespace BansheeEngine { void MaterialRTTI::onDeserializationEnded(IReflectable* obj) { Material* material = static_cast(obj); material->initialize(); if(material->mRTTIData.empty()) return; material->initBestTechnique(); std::shared_ptr params = any_cast>(material->mRTTIData); material->setParams(params); material->mRTTIData = nullptr; // Delete temporary data } std::shared_ptr MaterialRTTI::newRTTIObject() { return MaterialManager::instance().createEmpty(); } }