X-Git-Url: http://git.localhorst.tv/?p=blobs.git;a=blobdiff_plain;f=src%2Fui%2Fui.cpp;h=becfb9813297002ac0d638b5d84e3bea2051f887;hp=91ae1062fe4a176157ff5d7ee0e5d0505dd72710;hb=b4deadd9f4e399207e2530ea39a447c0d9d260a3;hpb=f5fc0c2bd1c0d1e2737d2b4ed49c3de16aa67c67 diff --git a/src/ui/ui.cpp b/src/ui/ui.cpp index 91ae106..becfb98 100644 --- a/src/ui/ui.cpp +++ b/src/ui/ui.cpp @@ -24,6 +24,8 @@ CreaturePanel::CreaturePanel(const app::Assets &assets) , age(new Label(assets.fonts.medium)) , mass(new Label(assets.fonts.medium)) , pos(new Label(assets.fonts.medium)) +, vel(new Label(assets.fonts.medium)) +, dir(new Label(assets.fonts.medium)) , tile(new Label(assets.fonts.medium)) , goal(new Label(assets.fonts.medium)) , stats{nullptr} @@ -69,6 +71,26 @@ CreaturePanel::CreaturePanel(const app::Assets &assets) ->Spacing(10.0f) ->Direction(Panel::HORIZONTAL); + vel->Text("<00.0, 00.0, 00.0>"); + Label *vel_label = new Label(assets.fonts.medium); + vel_label->Text("Vel"); + Panel *vel_panel = new Panel; + vel_panel + ->Add(vel_label) + ->Add(vel) + ->Spacing(10.0f) + ->Direction(Panel::HORIZONTAL); + + dir->Text("<0.00, 0.00, 0.00>"); + Label *dir_label = new Label(assets.fonts.medium); + dir_label->Text("Dir"); + Panel *dir_panel = new Panel; + dir_panel + ->Add(dir_label) + ->Add(dir) + ->Spacing(10.0f) + ->Direction(Panel::HORIZONTAL); + tile->Text("<00, 00> (mountains)"); Label *tile_label = new Label(assets.fonts.medium); tile_label->Text("Tile"); @@ -165,6 +187,8 @@ CreaturePanel::CreaturePanel(const app::Assets &assets) ->Add(born_panel) ->Add(mass_panel) ->Add(pos_panel) + ->Add(vel_panel) + ->Add(dir_panel) ->Add(tile_panel) ->Add(goal_panel) ->Add(stat_panel) @@ -201,6 +225,20 @@ void CreaturePanel::Draw(app::Assets &assets, graphics::Viewport &viewport) noex << "<" << p.x << ", " << p.y << ", " << p.z << ">"; pos->Text(ss.str()); } + { + const glm::dvec3 &v = c->GetSituation().Velocity(); + std::stringstream ss; + ss << std::fixed << std::setprecision(1) + << "<" << v.x << ", " << v.y << ", " << v.z << ">"; + vel->Text(ss.str()); + } + { + const glm::dvec3 &d = c->GetSituation().GetState().dir; + std::stringstream ss; + ss << std::fixed << std::setprecision(2) + << "<" << d.x << ", " << d.y << ", " << d.z << ">"; + dir->Text(ss.str()); + } { glm::ivec2 t = c->GetSituation().SurfacePosition(); std::stringstream ss;