Improve the demo a bit.

This commit is contained in:
Zed A. Shaw 2026-04-19 23:15:15 -04:00
parent c390ca5616
commit ad116b5515

View file

@ -20,17 +20,14 @@ struct TestMeters {
for(auto& [name, cell] : $gui.cells()) {
auto gui_id = $gui.entity(name);
$gui.set<guecs::Rectangle>(gui_id, {4, {0, 255, 0, 255}});
$gui.set<guecs::Meter>(gui_id, {1.0f, {255, 0, 0, 255}, 4});
$gui.set<guecs::Rectangle>(gui_id, {guecs::THEME.PADDING, {120, 25, 25, 255}});
$gui.set<guecs::Meter>(gui_id, {1.0f, guecs::THEME.DARK_LIGHT, guecs::THEME.PADDING});
$gui.set<guecs::Effect>(gui_id, {});
$gui.set<guecs::Text>(gui_id, {guecs::to_wstring(name)});
$gui.set<guecs::Clickable>(gui_id, {
[&, gui_id, name](auto) {
auto& meter = $gui.get<guecs::Meter>(gui_id);
meter.update_percent(meter.percent - 0.1f);
if(meter.percent < 0.0f) {
meter.percent = 1.0f;
}
meter.update_percent(1.0f);
}
});
}
@ -85,6 +82,14 @@ int main() {
}
}
gui.$gui.query<guecs::Meter>([](auto ent, auto& meter) {
if(meter.percent <= 0.0f) {
meter.update_percent(1.0f);
} else {
meter.update_percent(meter.percent - (0.01f * float(ent)));
}
});
gui.update();
gui.render(window);
window.display();