12 [](
const entt::meta_any& obj)
18 [](
const entt::meta_any& obj)
24 entt::meta_factory<probe_type>{}
25 .type(
"probe_type"_hs)
30 .data<probe_type::box>(
"box"_hs)
35 .data<probe_type::sphere>(
"sphere"_hs)
41 entt::meta_factory<reflect_method>{}
42 .type(
"reflect_method"_hs)
47 .data<reflect_method::environment>(
"environment"_hs)
52 .data<reflect_method::static_only>(
"static_only"_hs)
58 entt::meta_factory<reflection_probe::box>{}
64 .data<&reflection_probe::box::extents>(
"extents"_hs)
69 .data<&reflection_probe::box::transition_distance>(
"transition_distance"_hs)
76 entt::meta_factory<reflection_probe::sphere>{}
82 .data<&reflection_probe::sphere::range>(
"range"_hs)
89 entt::meta_factory<reflection_probe>{}
90 .type(
"reflection_probe"_hs)
95 .data<&reflection_probe::type>(
"type"_hs)
100 .data<&reflection_probe::method>(
"method"_hs)
105 .data<&reflection_probe::intensity>(
"intensity"_hs)
112 .data<&reflection_probe::box_data>(
"box_data"_hs)
118 .data<&reflection_probe::sphere_data>(
"sphere_data"_hs)
128 try_save(ar, ser20::make_nvp(
"type", obj.type));
129 try_save(ar, ser20::make_nvp(
"method", obj.method));
130 try_save(ar, ser20::make_nvp(
"intensity", obj.intensity));
133 try_save(ar, ser20::make_nvp(
"extents", obj.box_data.extents));
134 try_save(ar, ser20::make_nvp(
"transition_distance", obj.box_data.transition_distance));
138 try_save(ar, ser20::make_nvp(
"range", obj.sphere_data.range));
146 try_load(ar, ser20::make_nvp(
"type", obj.type));
147 try_load(ar, ser20::make_nvp(
"method", obj.method));
148 try_load(ar, ser20::make_nvp(
"intensity", obj.intensity));
151 try_load(ar, ser20::make_nvp(
"extents", obj.box_data.extents));
152 try_load(ar, ser20::make_nvp(
"transition_distance", obj.box_data.transition_distance));
156 try_load(ar, ser20::make_nvp(
"range", obj.sphere_data.range));
attributes::value_type attribute
std::map< std::string, meta_any > attributes
auto property_predicate(property_predicate_t predicate) -> property_predicate_t
BinaryInputArchive iarchive_binary_t
simd::JSONOutputArchive oarchive_associative_t
BinaryOutputArchive oarchive_binary_t
simd::JSONInputArchive iarchive_associative_t
@ sphere
Sphere type reflection probe.
@ box
Box type reflection probe.
#define SAVE_INSTANTIATE(cls, Archive)
auto try_save(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool
#define LOAD_INSTANTIATE(cls, Archive)
auto try_load(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool
Structure representing a reflection probe.
probe_type type
Type of the reflection probe.