25 lines
820 B
C++
25 lines
820 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include "Resource.h"
|
|
#include "ResourceFactory.h"
|
|
#include "soh/resource/type/scenecommand/SceneCommand.h"
|
|
|
|
namespace SOH {
|
|
class SceneCommandFactoryBinaryV0 {
|
|
public:
|
|
virtual std::shared_ptr<LUS::IResource> ReadResource(std::shared_ptr<LUS::ResourceInitData> initData, std::shared_ptr<LUS::BinaryReader> reader) = 0;
|
|
|
|
protected:
|
|
void ReadCommandId(std::shared_ptr<ISceneCommand> command, std::shared_ptr<LUS::BinaryReader> reader);
|
|
};
|
|
|
|
class SceneCommandFactoryXMLV0 {
|
|
public:
|
|
virtual std::shared_ptr<LUS::IResource> ReadResource(std::shared_ptr<LUS::ResourceInitData> initData, tinyxml2::XMLElement* reader) = 0;
|
|
|
|
protected:
|
|
void ReadCommandId(std::shared_ptr<ISceneCommand> command, tinyxml2::XMLElement* reader);
|
|
};
|
|
} // namespace SOH
|