X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FApplication.cpp;h=76ded2db2c9b15bc35ba637bf5567ccdfee369d4;hb=7fccdf2cd07afb3afdc0b854e9a03130ef202eec;hp=b6a08f115cc48b66d57367297380afad1b1a43a4;hpb=962405ec344818a7f6850d243feca7989ae5d41b;p=orbi.git diff --git a/src/app/Application.cpp b/src/app/Application.cpp index b6a08f1..76ded2d 100644 --- a/src/app/Application.cpp +++ b/src/app/Application.cpp @@ -154,7 +154,7 @@ void Application::Update(int dt) { } target.Update(delta); focus = ctrl.Controlling() - ? ctrl.Controlled().bounds.Center() + ? ctrl.Controlled().vbox.Center() : target.Pos(); cam.Update(delta); } @@ -175,7 +175,7 @@ void Application::RenderBackground() { canvas.Fill(); canvas.SetColor(outlineColor); - canvas.Grid(cam.ToScreen(Vector(0, 0)), cam.ToScale(world.Size()), cam.ToScale(Vector(1, 1))); + canvas.Grid(cam.ToScreen(Vector(0, 0)), cam.ToScale(world.Size()), cam.ToScale(world.TileSize())); } void Application::RenderWorld() { @@ -190,13 +190,34 @@ void Application::RenderWorld() { } void Application::RenderEntities() { - constexpr Color entityColor(0x00, 0xFA, 0x00); - canvas.SetColor(entityColor); + constexpr Color boundsColor(0xFA, 0x00, 0x00); + constexpr Color vboxColor(0xFA, 0xFA, 0x00); + constexpr Color hboxColor(0x00, 0xFA, 0x00); for (const Entity &e : world.Entities()) { - const Vector pos(e.bounds.Left(), e.bounds.Top()); - const Vector size(e.bounds.Size()); - canvas.OutlineRect(cam.ToScreen(pos), cam.ToScale(size)); + canvas.SetColor(boundsColor); + canvas.OutlineRect( + cam.ToScreen(Vector(e.bounds.Left(), e.bounds.Top())), + cam.ToScale(Vector(e.bounds.Size())) + ); + canvas.SetColor(vboxColor); + canvas.Line( + cam.ToScreen(Vector(e.vbox.Left(), e.vbox.Top())), + cam.ToScreen(Vector(e.vbox.Right(), e.vbox.Top())) - Vector(1, 0) + ); + canvas.Line( + cam.ToScreen(Vector(e.vbox.Left(), e.vbox.Bottom())) - Vector(0, 1), + cam.ToScreen(Vector(e.vbox.Right(), e.vbox.Bottom())) - Vector(1, 1) + ); + canvas.SetColor(hboxColor); + canvas.Line( + cam.ToScreen(Vector(e.hbox.Left(), e.hbox.Top())), + cam.ToScreen(Vector(e.hbox.Left(), e.hbox.Bottom())) - Vector(0, 1) + ); + canvas.Line( + cam.ToScreen(Vector(e.hbox.Right(), e.hbox.Top())) - Vector(1, 0), + cam.ToScreen(Vector(e.hbox.Right(), e.hbox.Bottom())) - Vector(1, 1) + ); } }