Compare commits

...

2 Commits

Author SHA1 Message Date
877e7ad2fa
Adding default case 2024-12-01 12:48:20 +01:00
77e5a18784
Cosmetic 2024-12-01 12:48:12 +01:00
2 changed files with 7 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 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);
BillyObjects() noexcept = default;
~BillyObjects() noexcept = default;
static void from_json(const json &j, container &billy);
[[nodiscard]] bool insert_object(CharacterSheet &sheet, const billyEnums objType) noexcept;

View File

@ -3,7 +3,7 @@
#include "character_sheet.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;
}
@ -104,7 +104,7 @@ namespace character {
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) {
const std::uint32_t key = element[0].get<std::uint32_t>();
const std::uint8_t value = element[1].get<std::uint8_t>();
@ -119,11 +119,13 @@ namespace character {
case toolsHash:
billy.emplace(static_cast<tools>(value), std::make_unique<Tools>(static_cast<tools>(value)));
break;
default:
throw std::logic_error("Wrong hash for from_json in BillyObjects::from_json");
}
}
}
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) {
std::visit(overloaded{
[&j](const weapons weapon) {