This commit is contained in:
Pcornat 2024-12-01 12:48:12 +01:00
parent 7a5d36f6ea
commit 77e5a18784
Signed by: Pcornat
GPG Key ID: E0326CC678A00BDD
2 changed files with 5 additions and 9 deletions

View File

@ -46,13 +46,9 @@ namespace character {
static std::string_view billy_object_to_string(const billyObjects &object) noexcept; static std::string_view billy_object_to_string(const billyObjects &object) noexcept;
static void to_json(json &j, const BillyObjects::container &billy); static void to_json(json &j, const container &billy);
static void from_json(const json &j, BillyObjects::container &billy); static void from_json(const json &j, container &billy);
BillyObjects() noexcept = default;
~BillyObjects() noexcept = default;
[[nodiscard]] bool insert_object(CharacterSheet &sheet, const billyEnums objType) noexcept; [[nodiscard]] bool insert_object(CharacterSheet &sheet, const billyEnums objType) noexcept;

View File

@ -3,7 +3,7 @@
#include "character_sheet.hpp" #include "character_sheet.hpp"
#include <nlohmann/json.hpp> #include <nlohmann/json.hpp>
std::uint32_t constexpr const_hash(const char *input) { constexpr std::uint32_t const_hash(const char *input) {
return *input ? static_cast<unsigned int>(*input) + 33 * const_hash(input + 1) : 5381; return *input ? static_cast<unsigned int>(*input) + 33 * const_hash(input + 1) : 5381;
} }
@ -104,7 +104,7 @@ namespace character {
return object->to_string(); return object->to_string();
} }
void BillyObjects::from_json(const json &j, BillyObjects::container &billy) { void BillyObjects::from_json(const json &j, container &billy) {
for (const auto &element: j) { for (const auto &element: j) {
const std::uint32_t key = element[0].get<std::uint32_t>(); const std::uint32_t key = element[0].get<std::uint32_t>();
const std::uint8_t value = element[1].get<std::uint8_t>(); const std::uint8_t value = element[1].get<std::uint8_t>();
@ -123,7 +123,7 @@ namespace character {
} }
} }
void BillyObjects::to_json(json &j, const BillyObjects::container &billy) { void BillyObjects::to_json(json &j, const container &billy) {
for (const auto &[object_type, _]: billy) { for (const auto &[object_type, _]: billy) {
std::visit(overloaded{ std::visit(overloaded{
[&j](const weapons weapon) { [&j](const weapons weapon) {