resources (not fully working yet)
This commit is contained in:
+20
-3
@@ -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()),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user