From 7b25df4c4dc3ead44dc02015fcc46c1ccb283b8e Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 17 Jul 2026 01:23:25 +0200 Subject: feat(engine): add Reflection derives to various types --- engine/src/data_types/dimens.rs | 8 ++++++-- engine/src/data_types/vector.rs | 16 ++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) (limited to 'engine/src/data_types') diff --git a/engine/src/data_types/dimens.rs b/engine/src/data_types/dimens.rs index a197560..64a30d3 100644 --- a/engine/src/data_types/dimens.rs +++ b/engine/src/data_types/dimens.rs @@ -1,8 +1,11 @@ use std::num::NonZeroU32; use std::ops::Div; +use crate::reflection::Reflection; + /// 2D dimensions. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Reflection)] +#[reflection(impl_with_generics(, , , ))] pub struct Dimens { pub width: Value, @@ -51,7 +54,8 @@ impl Dimens } /// 3D dimensions. -#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)] +#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Reflection)] +#[reflection(impl_with_generics(, , , ))] pub struct Dimens3 { pub width: Value, diff --git a/engine/src/data_types/vector.rs b/engine/src/data_types/vector.rs index 980ca59..dd9e386 100644 --- a/engine/src/data_types/vector.rs +++ b/engine/src/data_types/vector.rs @@ -1,6 +1,7 @@ use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; use crate::color::Color; +use crate::reflection::Reflection; macro_rules! impl_math_op_traits { (impl $op_trait: ident for $vector: ident, ($($vec_field: ident),+)) => { @@ -64,8 +65,9 @@ macro_rules! impl_math_op_traits { }; } -#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] -pub struct Vec2 +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Reflection)] +#[reflection(impl_with_generics(, , , ))] +pub struct Vec2 { pub x: Value, pub y: Value, @@ -116,8 +118,9 @@ impl From> for [Value; 2] } } -#[derive(Debug, Default, Clone, Copy, PartialEq)] -pub struct Vec3 +#[derive(Debug, Default, Clone, Copy, PartialEq, Reflection)] +#[reflection(impl_with_generics(, , , ))] +pub struct Vec3 { pub x: Value, pub y: Value, @@ -251,8 +254,9 @@ impl From> for [Value; 3] } } -#[derive(Debug, Default, Clone, Copy, PartialEq)] -pub struct Vec4 +#[derive(Debug, Default, Clone, Copy, PartialEq, Reflection)] +#[reflection(impl_with_generics(, , , ))] +pub struct Vec4 { pub x: Value, pub y: Value, -- cgit v1.2.3-18-g5258