working extension system

This commit is contained in:
2025-06-29 11:49:11 -05:00
parent af719d83db
commit 85bfa0f45f
5 changed files with 115 additions and 7 deletions
+24 -2
View File
@@ -1,11 +1,33 @@
use osui::{style::Transform, Screen};
use osui::{
extensions::{
tick::{OnTick, TickExtension},
velocity::{Velocity, VelocityExtension},
},
style::{Position, Transform},
Screen,
};
fn main() {
let mut screen = Screen::new();
screen.extension(VelocityExtension);
screen.extension(TickExtension);
screen
.draw(format!("Hello, World!"))
.component(Transform::center());
.component(Transform::new())
.component(Velocity(1, 0))
.component(OnTick(|w| {
if let Some(mut v) = w.get::<Velocity>() {
if let Some(t) = w.get::<Transform>() {
if let Position::Const(c) = t.x {
if c == 30 {
v.0 = 0;
w.set_component(v);
}
}
}
}
}));
screen.run().unwrap();
}