2016-01-12 19:29:22 -05:00
|
|
|
namespace Components
|
|
|
|
{
|
|
|
|
class StructuredData : public Component
|
|
|
|
{
|
|
|
|
public:
|
2016-02-06 07:37:23 -05:00
|
|
|
enum PlayerDataType
|
|
|
|
{
|
|
|
|
ENUM_FEATURES,
|
|
|
|
ENUM_WEAPONS,
|
|
|
|
ENUM_ATTACHEMENTS,
|
|
|
|
ENUM_CHALLENGES,
|
|
|
|
ENUM_CAMOS,
|
|
|
|
ENUM_PERKS,
|
|
|
|
ENUM_KILLSTREAKS,
|
|
|
|
ENUM_ACCOLADES,
|
|
|
|
ENUM_CARDICONS,
|
|
|
|
ENUM_CARDTITLES,
|
|
|
|
ENUM_CARDNAMEPLATES,
|
|
|
|
ENUM_TEAMS,
|
|
|
|
ENUM_GAMETYPES,
|
|
|
|
ENUM_MAX
|
|
|
|
};
|
|
|
|
|
2016-01-12 19:29:22 -05:00
|
|
|
StructuredData();
|
|
|
|
~StructuredData();
|
|
|
|
const char* GetName() { return "StructuredData"; };
|
|
|
|
|
2016-05-25 19:39:33 -04:00
|
|
|
void AddPlayerDataEntry(PlayerDataType type, std::string name);
|
2016-02-06 07:37:23 -05:00
|
|
|
|
2016-01-12 19:29:22 -05:00
|
|
|
private:
|
2016-05-25 19:39:33 -04:00
|
|
|
static void PatchPlayerDataEnum(Game::StructuredDataDef* data, PlayerDataType type, std::vector<std::string>& entries);
|
2016-02-06 07:37:23 -05:00
|
|
|
static StructuredData* GetSingleton();
|
|
|
|
|
|
|
|
Utils::Memory::Allocator MemAllocator;
|
|
|
|
|
|
|
|
static int IndexCount[ENUM_MAX];
|
2016-02-07 06:29:43 -05:00
|
|
|
static Game::StructuredDataEnumEntry* Indices[ENUM_MAX];
|
2016-05-25 19:39:33 -04:00
|
|
|
static std::vector<std::string> Entries[ENUM_MAX];
|
2016-02-06 07:37:23 -05:00
|
|
|
|
|
|
|
static StructuredData* Singleton;
|
2016-01-12 19:29:22 -05:00
|
|
|
};
|
|
|
|
}
|