Reorganized and cleaned up the solution.

This commit is contained in:
HikikoMarmy
2026-03-02 12:37:07 +00:00
parent 8012f30170
commit d4dfbddf69
175 changed files with 1516 additions and 1136 deletions

View File

@@ -0,0 +1,50 @@
#pragma once
#include <string>
#include <vector>
#include <utility>
#include "Common/ByteStream.hpp"
using CharacterAttributeKV = std::pair<std::wstring, std::wstring>;
class CharacterSlotData {
private:
std::vector<CharacterAttributeKV> m_metaData;
public:
CharacterSlotData() = default;
CharacterSlotData( const std::vector< uint8_t > &data );
void Deserialize( const std::vector< uint8_t > &data );
void Deserialize( const sptr_byte_stream stream );
std::vector<uint8_t> Serialize() const;
bool empty() const
{
return m_metaData.empty();
}
const std::vector<CharacterAttributeKV> &GetMetaData() const
{
return m_metaData;
}
void SetMetaData( const std::vector<CharacterAttributeKV> &metaData )
{
m_metaData = metaData;
}
std::wstring GetValue( std::wstring key )
{
for( const auto &kv : m_metaData )
{
if( kv.first == key )
{
return kv.second;
}
}
return L"";
}
};