2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-01 06:27:26 +00:00
Files
OpenAssetTools/src/ObjCompiling/KeyValuePairs/KeyValuePairsCreator.h
2025-08-05 18:51:56 +02:00

34 lines
869 B
C++

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