voxelcore/src/presets/NotePreset.cpp
2026-07-26 16:39:54 +03:00

32 lines
908 B
C++

#define VC_ENABLE_REFLECTION
#include "NotePreset.hpp"
#include "data/dv_util.hpp"
#include <vector>
dv::value NotePreset::serialize() const {
return dv::object({
{"display", NoteDisplayModeMeta.getNameString(displayMode)},
{"color", dv::to_value(color)},
{"scale", scale},
{"render_distance", renderDistance},
{"xray_opacity", xrayOpacity},
{"perspective", perspective},
{"font", font},
});
}
void NotePreset::deserialize(const dv::value& src) {
if (src.has("display")) {
NoteDisplayModeMeta.getItem(src["display"].asString(), displayMode);
}
if (src.has("color")) {
dv::get_vec(src["color"], color);
}
src.at("scale").get(scale);
src.at("render_distance").get(renderDistance);
src.at("xray_opacity").get(xrayOpacity);
src.at("perspective").get(perspective);
src.at("font").get(font);
}