diff options
| author | HampusM <hampus@hampusmat.com> | 2025-11-07 13:57:49 +0100 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2025-11-07 13:57:49 +0100 |
| commit | dfb6b4e45065c618fdd2df7424fd66c439cd1841 (patch) | |
| tree | 04fe2cc64d0370921790b852ef7553157a06b41a /engine/src/transform.rs | |
| parent | c85039da1d8c65cad4cd661b08e4acba706e32ee (diff) | |
Diffstat (limited to 'engine/src/transform.rs')
| -rw-r--r-- | engine/src/transform.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/engine/src/transform.rs b/engine/src/transform.rs index 7c0c941..05819bc 100644 --- a/engine/src/transform.rs +++ b/engine/src/transform.rs @@ -1,7 +1,46 @@ use ecs::Component; +use crate::builder; use crate::vector::Vec3; +builder!( + #[builder(name = Builder, derives=(Debug))] + #[derive(Debug)] + #[non_exhaustive] + pub struct Transform + { + pub position: Vec3<f32>, + pub scale: Vec3<f32>, + } +); + +impl Transform +{ + pub fn builder() -> Builder + { + Builder::default() + } +} + +impl Default for Transform +{ + fn default() -> Self + { + Self::builder().build() + } +} + +impl Default for Builder +{ + fn default() -> Self + { + Self { + position: Vec3::from(0.0), + scale: Vec3::from(1.0), + } + } +} + /// A position in world space. #[derive(Debug, Default, Clone, Copy, Component)] pub struct WorldPosition |
