66 lines
1.2 KiB
Rust
66 lines
1.2 KiB
Rust
use rand::Rng;
|
|
|
|
use crate::Component;
|
|
use crate::lyra_engine;
|
|
//use crate::lyra_ecs;
|
|
|
|
/// This source file includes some common things that tests are using.
|
|
|
|
#[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd)]
|
|
pub struct Vec2 {
|
|
pub x: f32,
|
|
pub y: f32,
|
|
}
|
|
|
|
impl Component for Vec2 {
|
|
fn name() -> &'static str {
|
|
"Vec2"
|
|
}
|
|
}
|
|
|
|
impl Vec2 {
|
|
pub fn new(x: f32, y: f32) -> Self {
|
|
Self {
|
|
x,
|
|
y,
|
|
}
|
|
}
|
|
|
|
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)
|
|
}
|
|
}
|
|
}
|
|
|
|
#[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)
|
|
}
|
|
}
|
|
} |