lyra-engine/lyra-ecs/src/tests.rs

58 lines
1.1 KiB
Rust
Raw Normal View History

2023-12-21 22:02:59 +00:00
use lyra_ecs_derive::Component;
2023-11-27 02:05:35 +00:00
use rand::Rng;
2023-12-21 22:02:59 +00:00
//use crate::lyra_ecs;
2023-11-27 02:05:35 +00:00
/// This source file includes some common things that tests are using.
2023-12-21 22:02:59 +00:00
#[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd, Component)]
pub struct Vec2 {
pub x: f32,
pub y: f32,
}
impl Vec2 {
pub fn new(x: f32, y: f32) -> Self {
Self {
x,
y,
}
}
2023-11-27 02:05:35 +00:00
pub fn rand() -> Self {
let mut rng = rand::thread_rng();
let range = 30.0..1853.0;
Vec2 {
x: rng.gen_range(range.clone()),
y: rng.gen_range(range)
}
}
}
2023-12-21 22:02:59 +00:00
#[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd, Component)]
pub struct Vec3 {
pub x: f32,
pub y: f32,
pub z: f32,
}
impl Vec3 {
pub fn new(x: f32, y: f32, z: f32) -> Self {
Self {
x,
y,
z
}
}
pub fn rand() -> Self {
let mut rng = rand::thread_rng();
let range = 30.0..1853.0;
Vec3 {
x: rng.gen_range(range.clone()),
y: rng.gen_range(range.clone()),
z: rng.gen_range(range)
}
}
}