#pragma once
#include "json_util.hpp"
#include "natives.hpp"
namespace big
{
struct model_attachment
Hash model_hash;
Vector3 position;
Vector3 rotation;
bool has_collision;
bool is_visible;
};
static void to_json(nlohmann::json& j, const model_attachment& attachment)
j = nlohmann::json{{"model_hash", attachment.model_hash},
{"position_x", attachment.position.x},
{"position_y", attachment.position.y},
{"position_z", attachment.position.z},
{"rotation_x", attachment.rotation.x},
{"rotation_y", attachment.rotation.y},
{"rotation_z", attachment.rotation.z},
{"has_collision", attachment.has_collision},
{"is_visible", attachment.is_visible},
static void from_json(const nlohmann::json& j, model_attachment& attachment)
set_from_key_or_default(j, "model_hash", attachment.model_hash);
set_from_key_or_default(j, "position_x", attachment.position.x);
set_from_key_or_default(j, "position_y", attachment.position.y);
set_from_key_or_default(j, "position_z", attachment.position.z);
set_from_key_or_default(j, "rotation_x", attachment.rotation.x);
set_from_key_or_default(j, "rotation_y", attachment.rotation.y);
set_from_key_or_default(j, "rotation_z", attachment.rotation.z);
set_from_key_or_default(j, "has_collision", attachment.has_collision);
set_from_key_or_default(j, "is_visible", attachment.is_visible, true);
}