//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "RTTI/BsMaterialRTTI.h" #include "Material/BsMaterialManager.h" #include "Material/BsMaterialParams.h" namespace bs { void MaterialRTTI::onDeserializationEnded(IReflectable* obj, const UnorderedMap& params) { Material* material = static_cast(obj); material->initialize(); if(material->mRTTIData.empty()) return; material->initializeTechniques(); if (material->getNumTechniques() > 0) { SPtr matParams = any_cast>(material->mRTTIData); material->setParams(matParams); } material->mRTTIData = nullptr; // Delete temporary data } SPtr MaterialRTTI::newRTTIObject() { return MaterialManager::instance().createEmpty(); } }