#include "soh/resource/importer/scenecommand/EndMarkerFactory.h" #include "soh/resource/type/scenecommand/EndMarker.h" #include "spdlog/spdlog.h" namespace Ship { std::shared_ptr EndMarkerFactory::ReadResource(std::shared_ptr resourceMgr, std::shared_ptr initData, std::shared_ptr reader) { auto resource = std::make_shared(resourceMgr, initData); std::shared_ptr factory = nullptr; switch (resource->InitData->ResourceVersion) { case 0: factory = std::make_shared(); break; } if (factory == nullptr) { SPDLOG_ERROR("Failed to load EndMarker with version {}", resource->InitData->ResourceVersion); return nullptr; } factory->ParseFileBinary(reader, resource); return resource; } void Ship::EndMarkerFactoryV0::ParseFileBinary(std::shared_ptr reader, std::shared_ptr resource) { std::shared_ptr endMarker = std::static_pointer_cast(resource); ResourceVersionFactory::ParseFileBinary(reader, endMarker); ReadCommandId(endMarker, reader); // This has no data. } } // namespace Ship