#pragma once #include using json = nlohmann::json; namespace warfactory { class ISerializable { public: virtual ~ISerializable() = default; virtual json serialize() const = 0; virtual void deserialize(const json& data) = 0; }; } // namespace warfactory