Compare commits
	
		
			No commits in common. "877e7ad2fa75c4ae0961faebf1176388c0a616cf" and "7a5d36f6ead66e695e3efd0c9d4a480ff6d2b13c" have entirely different histories.
		
	
	
		
			
				877e7ad2fa
			
			...
			
				7a5d36f6ea
			
		
	
		
					 2 changed files with 9 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -46,9 +46,13 @@ namespace character {
 | 
			
		|||
 | 
			
		||||
        static std::string_view billy_object_to_string(const billyObjects &object) noexcept;
 | 
			
		||||
 | 
			
		||||
        static void to_json(json &j, const container &billy);
 | 
			
		||||
        static void to_json(json &j, const BillyObjects::container &billy);
 | 
			
		||||
 | 
			
		||||
        static void from_json(const json &j, container &billy);
 | 
			
		||||
        static void from_json(const json &j, BillyObjects::container &billy);
 | 
			
		||||
 | 
			
		||||
        BillyObjects() noexcept = default;
 | 
			
		||||
 | 
			
		||||
        ~BillyObjects() noexcept = default;
 | 
			
		||||
 | 
			
		||||
        [[nodiscard]] bool insert_object(CharacterSheet &sheet, const billyEnums objType) noexcept;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
#include "character_sheet.hpp"
 | 
			
		||||
#include <nlohmann/json.hpp>
 | 
			
		||||
 | 
			
		||||
constexpr std::uint32_t const_hash(const char *input) {
 | 
			
		||||
std::uint32_t constexpr 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, container &billy) {
 | 
			
		||||
    void BillyObjects::from_json(const json &j, BillyObjects::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,13 +119,11 @@ 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 container &billy) {
 | 
			
		||||
    void BillyObjects::to_json(json &j, const BillyObjects::container &billy) {
 | 
			
		||||
        for (const auto &[object_type, _]: billy) {
 | 
			
		||||
            std::visit(overloaded{
 | 
			
		||||
                    [&j](const weapons weapon) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue