}
+Player *World::FindPlayer(const std::string &name) {
+ for (Player &p : players) {
+ if (p.Name() == name) {
+ return &p;
+ }
+ }
+ return nullptr;
+}
+
+Entity *World::FindEntity(const std::string &name) {
+ // TODO: this may get inefficient
+ for (Entity &e : entities) {
+ if (e.Name() == name) {
+ return &e;
+ }
+ }
+ return nullptr;
+}
+
+
namespace {
struct Candidate {
PrimitiveMesh debug_mesh;
PlainColor &prog = viewport.WorldColorProgram();
for (const Entity &entity : entities) {
- debug_buf.OutlineBox(entity.Bounds(), TVEC4<unsigned char, glm::precision(0)>(255, 0, 0, 255));
+ debug_buf.OutlineBox(entity.Bounds(), PrimitiveMesh::Color(255, 0, 0, 255));
debug_mesh.Update(debug_buf);
prog.SetM(entity.Transform(players.front().GetEntity().ChunkCoords()));
debug_mesh.DrawLines();