X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2Fui.cpp;h=11b63d87f6798d97d01be0d491d253e0a2ccaf63;hb=9bc766beab23c8c5f507ca3c7abce24049e6229e;hp=4cd660624cdeebd25f0f0f9c4c1a79278ca2c7bb;hpb=392826deaf802ac0960ed3924a3f98b9d18d381b;p=blobs.git diff --git a/src/ui/ui.cpp b/src/ui/ui.cpp index 4cd6606..11b63d8 100644 --- a/src/ui/ui.cpp +++ b/src/ui/ui.cpp @@ -91,6 +91,8 @@ CreaturePanel::CreaturePanel(app::Assets &assets) ->Spacing(2) ->Direction(Panel::VERTICAL); Panel *stat_meter_panel = new Panel; + stat_label[0]->Layout(); + stats[0]->Layout(); stat_meter_panel ->Spacing(stat_label[0]->Size().y - stats[0]->Size().y + 2) ->Direction(Panel::VERTICAL); @@ -105,8 +107,8 @@ CreaturePanel::CreaturePanel(app::Assets &assets) ->Add(stat_label_panel) ->Add(stat_meter_panel); - Label *prop_label[8]; - for (int i = 0; i < 8; ++i) { + Label *prop_label[9]; + for (int i = 0; i < 9; ++i) { prop_label[i] = new Label(assets.fonts.medium); props[i] = new Label(assets.fonts.medium); } @@ -117,7 +119,8 @@ CreaturePanel::CreaturePanel(app::Assets &assets) prop_label[4]->Text("Lifetime"); prop_label[5]->Text("Fertility"); prop_label[6]->Text("Mutability"); - prop_label[7]->Text("Offspring mass"); + prop_label[7]->Text("Adaptability"); + prop_label[8]->Text("Offspring mass"); Panel *prop_label_panel = new Panel; prop_label_panel @@ -127,7 +130,7 @@ CreaturePanel::CreaturePanel(app::Assets &assets) prop_meter_panel ->Spacing(2) ->Direction(Panel::VERTICAL); - for (int i = 0; i < 8; ++i) { + for (int i = 0; i < 9; ++i) { prop_label_panel->Add(prop_label[i]); prop_meter_panel->Add(props[i]); } @@ -235,10 +238,12 @@ void CreaturePanel::Draw(graphics::Viewport &viewport) noexcept { props[4]->Text(TimeString(c->Lifetime())); props[5]->Text(PercentageString(c->Fertility())); props[6]->Text(PercentageString(c->Mutability())); - props[7]->Text(MassString(c->OffspringMass())); + props[7]->Text(PercentageString(c->Adaptability())); + props[8]->Text(MassString(c->OffspringMass())); const glm::vec2 margin(20.0f); panel.Position(glm::vec2(viewport.Width() - margin.x - panel.Size().x, margin.y)); + panel.Layout(); panel.Draw(assets, viewport); } @@ -302,24 +307,7 @@ void RecordsPanel::Draw(graphics::Viewport &viewport) noexcept { int i = 0; for (const auto &r : sim.Records()) { if (!r) continue; - switch (r.type) { - default: - case world::Record::VALUE: - records[i]->Text(DecimalString(r.value, 2)); - break; - case world::Record::LENGTH: - records[i]->Text(LengthString(r.value)); - break; - case world::Record::MASS: - records[i]->Text(MassString(r.value)); - break; - case world::Record::PERCENTAGE: - records[i]->Text(PercentageString(r.value)); - break; - case world::Record::TIME: - records[i]->Text(TimeString(r.value)); - break; - } + records[i]->Text(r.ValueString()); std::string str(r.holder->Name()); bool first = true; for (auto p : r.holder->Parents()) { @@ -337,6 +325,7 @@ void RecordsPanel::Draw(graphics::Viewport &viewport) noexcept { const glm::vec2 margin(20.0f); panel.Position(glm::vec2(margin.x, margin.y)); + panel.Layout(); panel.Draw(sim.Assets(), viewport); } @@ -386,6 +375,7 @@ void TimePanel::Draw(graphics::Viewport &viewport) noexcept { const glm::vec2 margin(20.0f); panel.Position(glm::vec2(margin.x, viewport.Height() - margin.y - panel.Size().y)); + panel.Layout(); panel.Draw(sim.Assets(), viewport); }