add ReflectDefault
to std types (#6429)
# Objective - `ReflectDefault` can be used to create default values for reflected types - `std` primitives that are `Default`-constructable should register `ReflectDefault` ## Solution - register `ReflectDefault`
This commit is contained in:
parent
558859691e
commit
55b3cb0183
@ -1,3 +1,4 @@
|
|||||||
|
use crate::std_traits::ReflectDefault;
|
||||||
use crate::{self as bevy_reflect, ReflectFromPtr};
|
use crate::{self as bevy_reflect, ReflectFromPtr};
|
||||||
use crate::{
|
use crate::{
|
||||||
map_apply, map_partial_eq, Array, ArrayInfo, ArrayIter, DynamicEnum, DynamicMap, Enum,
|
map_apply, map_partial_eq, Array, ArrayInfo, ArrayIter, DynamicEnum, DynamicMap, Enum,
|
||||||
@ -25,24 +26,80 @@ use std::{
|
|||||||
path::PathBuf,
|
path::PathBuf,
|
||||||
};
|
};
|
||||||
|
|
||||||
impl_reflect_value!(bool(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(bool(
|
||||||
impl_reflect_value!(char(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Debug,
|
||||||
impl_reflect_value!(u8(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Hash,
|
||||||
impl_reflect_value!(u16(Debug, Hash, PartialEq, Serialize, Deserialize));
|
PartialEq,
|
||||||
impl_reflect_value!(u32(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Serialize,
|
||||||
impl_reflect_value!(u64(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Deserialize,
|
||||||
impl_reflect_value!(u128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Default
|
||||||
impl_reflect_value!(usize(Debug, Hash, PartialEq, Serialize, Deserialize));
|
));
|
||||||
impl_reflect_value!(i8(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(char(
|
||||||
impl_reflect_value!(i16(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Debug,
|
||||||
impl_reflect_value!(i32(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Hash,
|
||||||
impl_reflect_value!(i64(Debug, Hash, PartialEq, Serialize, Deserialize));
|
PartialEq,
|
||||||
impl_reflect_value!(i128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Serialize,
|
||||||
impl_reflect_value!(isize(Debug, Hash, PartialEq, Serialize, Deserialize));
|
Deserialize,
|
||||||
impl_reflect_value!(f32(Debug, PartialEq, Serialize, Deserialize));
|
Default
|
||||||
impl_reflect_value!(f64(Debug, PartialEq, Serialize, Deserialize));
|
));
|
||||||
impl_reflect_value!(String(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(u8(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
impl_reflect_value!(PathBuf(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(u16(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(u32(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(u64(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(u128(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
|
impl_reflect_value!(usize(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
|
impl_reflect_value!(i8(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(i16(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(i32(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(i64(Debug, Hash, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(i128(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
|
impl_reflect_value!(isize(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
|
impl_reflect_value!(f32(Debug, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(f64(Debug, PartialEq, Serialize, Deserialize, Default));
|
||||||
|
impl_reflect_value!(String(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
|
impl_reflect_value!(PathBuf(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
impl_reflect_value!(Result<T: Clone + Reflect + 'static, E: Clone + Reflect + 'static>());
|
impl_reflect_value!(Result<T: Clone + Reflect + 'static, E: Clone + Reflect + 'static>());
|
||||||
impl_reflect_value!(HashSet<T: Hash + Eq + Clone + Send + Sync + 'static>());
|
impl_reflect_value!(HashSet<T: Hash + Eq + Clone + Send + Sync + 'static>());
|
||||||
impl_reflect_value!(Range<T: Clone + Send + Sync + 'static>());
|
impl_reflect_value!(Range<T: Clone + Send + Sync + 'static>());
|
||||||
@ -51,7 +108,14 @@ impl_reflect_value!(RangeFrom<T: Clone + Send + Sync + 'static>());
|
|||||||
impl_reflect_value!(RangeTo<T: Clone + Send + Sync + 'static>());
|
impl_reflect_value!(RangeTo<T: Clone + Send + Sync + 'static>());
|
||||||
impl_reflect_value!(RangeToInclusive<T: Clone + Send + Sync + 'static>());
|
impl_reflect_value!(RangeToInclusive<T: Clone + Send + Sync + 'static>());
|
||||||
impl_reflect_value!(RangeFull());
|
impl_reflect_value!(RangeFull());
|
||||||
impl_reflect_value!(Duration(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(Duration(
|
||||||
|
Debug,
|
||||||
|
Hash,
|
||||||
|
PartialEq,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
Default
|
||||||
|
));
|
||||||
impl_reflect_value!(Instant(Debug, Hash, PartialEq));
|
impl_reflect_value!(Instant(Debug, Hash, PartialEq));
|
||||||
impl_reflect_value!(NonZeroI128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(NonZeroI128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
||||||
impl_reflect_value!(NonZeroU128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
impl_reflect_value!(NonZeroU128(Debug, Hash, PartialEq, Serialize, Deserialize));
|
||||||
|
Loading…
Reference in New Issue
Block a user