#pragma once #include "Asset/IZoneAssetCreationState.h" #include "Zone/Definition/ZoneDefinition.h" #include #include #include namespace key_value_pairs { class CommonKeyValuePair { public: CommonKeyValuePair(std::string keyStr, std::string value); CommonKeyValuePair(unsigned keyHash, std::string value); std::optional m_key_str; std::optional m_key_hash; std::string m_value; }; class Creator final : public IZoneAssetCreationState { public: void AddKeyValuePair(CommonKeyValuePair keyValuePair); void Finalize(const ZoneDefinition& zoneDefinition); std::vector GetFinalKeyValuePairs(); private: std::vector m_key_value_pairs; }; } // namespace key_value_pairs