#include "Runtime/Character/CMetaTransFactory.hpp" #include "Runtime/Character/CMetaTransMetaAnim.hpp" #include "Runtime/Character/CMetaTransPhaseTrans.hpp" #include "Runtime/Character/CMetaTransSnap.hpp" #include "Runtime/Character/CMetaTransTrans.hpp" namespace metaforce { std::shared_ptr CMetaTransFactory::CreateMetaTrans(CInputStream& in) { EMetaTransType type = EMetaTransType(in.ReadLong()); switch (type) { case EMetaTransType::MetaAnim: return std::make_shared(in); case EMetaTransType::Trans: return std::make_shared(in); case EMetaTransType::PhaseTrans: return std::make_shared(in); case EMetaTransType::Snap: return std::make_shared(); default: break; } return {}; } } // namespace metaforce