mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-11-07 01:01:59 +00:00
35 lines
905 B
C++
35 lines
905 B
C++
#include "StepAddProcessor.h"
|
|
|
|
#include <cassert>
|
|
|
|
namespace
|
|
{
|
|
class StepAddProcessor final : public ILoadingStep
|
|
{
|
|
public:
|
|
explicit StepAddProcessor(std::unique_ptr<StreamProcessor> streamProcessor)
|
|
: m_stream_processor(std::move(streamProcessor))
|
|
{
|
|
}
|
|
|
|
void PerformStep(ZoneReader& zoneReader, ILoadingStream& stream) override
|
|
{
|
|
assert(m_stream_processor != nullptr);
|
|
|
|
zoneReader.AddStreamProcessor(std::move(m_stream_processor));
|
|
m_stream_processor = nullptr;
|
|
}
|
|
|
|
private:
|
|
std::unique_ptr<StreamProcessor> m_stream_processor;
|
|
};
|
|
} // namespace
|
|
|
|
namespace step
|
|
{
|
|
std::unique_ptr<ILoadingStep> CreateStepAddProcessor(std::unique_ptr<StreamProcessor> streamProcessor)
|
|
{
|
|
return std::make_unique<StepAddProcessor>(std::move(streamProcessor));
|
|
}
|
|
} // namespace step
|