mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
21 lines
677 B
C++
21 lines
677 B
C++
#pragma once
|
|
|
|
#include "Utils/ClassUtils.h"
|
|
#include "Zone/Zone.h"
|
|
#include "ZoneWriter.h"
|
|
|
|
class IZoneWriterFactory
|
|
{
|
|
public:
|
|
IZoneWriterFactory() = default;
|
|
virtual ~IZoneWriterFactory() = default;
|
|
IZoneWriterFactory(const IZoneWriterFactory& other) = default;
|
|
IZoneWriterFactory(IZoneWriterFactory&& other) noexcept = default;
|
|
IZoneWriterFactory& operator=(const IZoneWriterFactory& other) = default;
|
|
IZoneWriterFactory& operator=(IZoneWriterFactory&& other) noexcept = default;
|
|
|
|
_NODISCARD virtual std::unique_ptr<ZoneWriter> CreateWriter(Zone* zone) const = 0;
|
|
|
|
static const IZoneWriterFactory* GetZoneWriterFactoryForGame(GameId game);
|
|
};
|