Better design that has a render/update cycle for components.
This commit is contained in:
parent
48b672eec4
commit
2dbfac27c6
5 changed files with 38 additions and 21 deletions
|
|
@ -37,7 +37,15 @@ struct TestMeters {
|
|||
$gui.set<guecs::Clickable>(gui_id, {
|
||||
[&, gui_id, name](auto) {
|
||||
auto& meter = $gui.get<guecs::Meter>(gui_id);
|
||||
meter.update_percent(1.0f);
|
||||
auto& bg = $gui.get<guecs::Rectangle>(gui_id);
|
||||
meter.percent = 1.0f;
|
||||
if(meter.color.r == 255) {
|
||||
meter.color = guecs::THEME.DARK_LIGHT;
|
||||
bg.color = {120, 25, 25, 255};
|
||||
} else {
|
||||
meter.color = {255, 0, 0, 255};
|
||||
bg.color = {0,255,0,255};
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -54,6 +62,7 @@ struct TestMeters {
|
|||
}
|
||||
|
||||
void update() {
|
||||
$gui.update();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -94,9 +103,9 @@ int main() {
|
|||
|
||||
gui.$gui.query<guecs::Meter>([](auto ent, auto& meter) {
|
||||
if(meter.percent <= 0.0f) {
|
||||
meter.update_percent(1.0f);
|
||||
meter.percent = 1.0f;
|
||||
} else {
|
||||
meter.update_percent(meter.percent - (0.01f * float(ent)));
|
||||
meter.percent -= 0.01f * float(ent);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue