#include "Runtime/Character/CMetaAnimFactory.hpp" #include "Runtime/Character/CMetaAnimBlend.hpp" #include "Runtime/Character/CMetaAnimPhaseBlend.hpp" #include "Runtime/Character/CMetaAnimPlay.hpp" #include "Runtime/Character/CMetaAnimRandom.hpp" #include "Runtime/Character/CMetaAnimSequence.hpp" namespace metaforce { std::shared_ptr CMetaAnimFactory::CreateMetaAnim(CInputStream& in) { EMetaAnimType type = EMetaAnimType(in.readUint32Big()); switch (type) { case EMetaAnimType::Play: return std::make_shared(in); case EMetaAnimType::Blend: return std::make_shared(in); case EMetaAnimType::PhaseBlend: return std::make_shared(in); case EMetaAnimType::Random: return std::make_shared(in); case EMetaAnimType::Sequence: return std::make_shared(in); default: break; } return {}; } } // namespace metaforce