resources (not fully working yet)

This commit is contained in:
2025-07-06 02:12:10 -05:00
parent 4dfbee5984
commit 5fabd1a8ab
4 changed files with 42 additions and 9 deletions
+20 -3
View File
@@ -3,12 +3,18 @@ use osui::{
div::Div,
grid::{HGrid, VGrid},
},
extensions::{
resources::Resource,
tick::{TickEvent, TickExtension},
Handler,
},
style::Transform,
Screen,
};
fn main() {
let mut screen = Screen::new();
screen.extension(TickExtension(10));
let container = Div::new(0xffff00);
@@ -23,12 +29,23 @@ fn main() {
for _ in 1..6 {
let row = HGrid::new(0xff00ff, 1);
vgrid.draw(screen.draw(row.clone()));
let row_widget = vgrid.draw(
screen
.draw(row.clone())
.component(Resource(Vec::<&str>::from(["Test"])))
.component(Handler::new(|w, t: &TickEvent| {
if t.0 >= 10 {
let mut res = w.get::<Resource<Vec<&str>>>().unwrap();
res.0.push("Hello World");
w.set_component(res);
}
})),
);
for i in 1..10 {
for i in row_widget.get::<Resource<Vec<&str>>>().unwrap().0 {
row.draw(
screen
.draw((format!("Item {i}"), 0xff0000))
.draw((i.to_string(), 0xff0000))
.component(Transform::new()),
);
}