canvas.Fill();
canvas.SetColor(outlineColor);
- canvas.Grid(cam.ToScreen(Vector<int>(0, 0)), cam.ToScale(world.Size()), cam.ToScale(Vector<float>(1, 1)));
+ canvas.Grid(cam.ToScreen(Vector<int>(0, 0)), cam.ToScale(world.Size()), cam.ToScale(world.TileSize()));
}
void Application::RenderWorld() {
}
void Application::RenderEntities() {
- constexpr Color vboxColor(0xFA, 0x00, 0x00);
+ constexpr Color boundsColor(0xFA, 0x00, 0x00);
+ constexpr Color vboxColor(0xFA, 0xFA, 0x00);
constexpr Color hboxColor(0x00, 0xFA, 0x00);
for (const Entity &e : world.Entities()) {
+ canvas.SetColor(boundsColor);
+ canvas.OutlineRect(
+ cam.ToScreen(Vector<float>(e.bounds.Left(), e.bounds.Top())),
+ cam.ToScale(Vector<float>(e.bounds.Size()))
+ );
canvas.SetColor(vboxColor);
canvas.Line(
cam.ToScreen(Vector<float>(e.vbox.Left(), e.vbox.Top())),
- cam.ToScreen(Vector<float>(e.vbox.Right(), e.vbox.Top()))
+ cam.ToScreen(Vector<float>(e.vbox.Right(), e.vbox.Top())) - Vector<int>(1, 0)
);
canvas.Line(
- cam.ToScreen(Vector<float>(e.vbox.Left(), e.vbox.Bottom())),
- cam.ToScreen(Vector<float>(e.vbox.Right(), e.vbox.Bottom()))
+ cam.ToScreen(Vector<float>(e.vbox.Left(), e.vbox.Bottom())) - Vector<int>(0, 1),
+ cam.ToScreen(Vector<float>(e.vbox.Right(), e.vbox.Bottom())) - Vector<int>(1, 1)
);
canvas.SetColor(hboxColor);
canvas.Line(
cam.ToScreen(Vector<float>(e.hbox.Left(), e.hbox.Top())),
- cam.ToScreen(Vector<float>(e.hbox.Left(), e.hbox.Bottom()))
+ cam.ToScreen(Vector<float>(e.hbox.Left(), e.hbox.Bottom())) - Vector<int>(0, 1)
);
canvas.Line(
- cam.ToScreen(Vector<float>(e.hbox.Right(), e.hbox.Top())),
- cam.ToScreen(Vector<float>(e.hbox.Right(), e.hbox.Bottom()))
+ cam.ToScreen(Vector<float>(e.hbox.Right(), e.hbox.Top())) - Vector<int>(1, 0),
+ cam.ToScreen(Vector<float>(e.hbox.Right(), e.hbox.Bottom())) - Vector<int>(1, 1)
);
}
}