+ CreateNeeds();
+}
+
+void CreaturePanel::CreateNeeds() {
+ needs->Clear()->Reserve(c->Needs().size());
+ need_meters.clear();
+ need_meters.reserve(c->Needs().size());
+ for (auto &need : c->Needs()) {
+ Label *label = new Label(assets.fonts.medium);
+ label->Text(need->name);
+ Meter *meter = new Meter;
+ meter
+ ->Value(1.0f - need->value)
+ ->Size(glm::vec2(100.0f, assets.fonts.medium.Height() + assets.fonts.medium.Descent()))
+ ->Padding(glm::vec2(1.0f))
+ ->Border(1.0f)
+ ->FillColor(glm::vec4(0.0f, 0.0f, 0.0f, 1.0f))
+ ->BorderColor(glm::vec4(0.0f, 0.0f, 0.0f, 1.0f));
+ Panel *need_panel = new Panel;
+ need_panel
+ ->Direction(Panel::HORIZONTAL)
+ ->Spacing(10.0f)
+ ->Add(label)
+ ->Add(meter);
+ needs->Add(need_panel);
+ need_meters.push_back(meter);
+ }