Make a update_percent function for meter.
This commit is contained in:
parent
1950f45f46
commit
c390ca5616
3 changed files with 8 additions and 2 deletions
|
|
@ -27,7 +27,7 @@ struct TestMeters {
|
||||||
$gui.set<guecs::Clickable>(gui_id, {
|
$gui.set<guecs::Clickable>(gui_id, {
|
||||||
[&, gui_id, name](auto) {
|
[&, gui_id, name](auto) {
|
||||||
auto& meter = $gui.get<guecs::Meter>(gui_id);
|
auto& meter = $gui.get<guecs::Meter>(gui_id);
|
||||||
meter.percent = meter.percent - 0.1f;
|
meter.update_percent(meter.percent - 0.1f);
|
||||||
if(meter.percent < 0.0f) {
|
if(meter.percent < 0.0f) {
|
||||||
meter.percent = 1.0f;
|
meter.percent = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ namespace guecs {
|
||||||
void init(lel::Cell& cell, guecs::Rectangle &bg);
|
void init(lel::Cell& cell, guecs::Rectangle &bg);
|
||||||
void init(lel::Cell& cell);
|
void init(lel::Cell& cell);
|
||||||
void render(sf::RenderTarget& window, sf::Shader *shader_ptr);
|
void render(sf::RenderTarget& window, sf::Shader *shader_ptr);
|
||||||
|
void update_percent(float pct);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Effect {
|
struct Effect {
|
||||||
|
|
|
||||||
|
|
@ -116,12 +116,17 @@ namespace guecs {
|
||||||
$cell_w = cell.w;
|
$cell_w = cell.w;
|
||||||
$cell_h = cell.h;
|
$cell_h = cell.h;
|
||||||
bar.init(cell);
|
bar.init(cell);
|
||||||
|
update_percent(percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Meter::render(sf::RenderTarget& window, sf::Shader *shader_ptr) {
|
void Meter::render(sf::RenderTarget& window, sf::Shader *shader_ptr) {
|
||||||
|
bar.render(window, shader_ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Meter::update_percent(float pct) {
|
||||||
|
percent = pct;
|
||||||
float level = std::clamp(percent, 0.0f, 1.0f) * float($cell_w);
|
float level = std::clamp(percent, 0.0f, 1.0f) * float($cell_w);
|
||||||
bar.shape->setSize({std::max(level, 0.0f) - padding * 2, float($cell_h) - padding * 2});
|
bar.shape->setSize({std::max(level, 0.0f) - padding * 2, float($cell_h) - padding * 2});
|
||||||
bar.render(window, shader_ptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sound::play(bool hover) {
|
void Sound::play(bool hover) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue