X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2Fworld.cpp;h=528bc40c1b242358cd6026d81969e8c53ab62463;hb=04b035d837668eb6444ec34e59c018d0c25983fd;hp=2292d15418f6dd30420bb329b9f09fb2fcb2c8f4;hpb=20d0a76d2519c71009c3b3babec0df27529f8142;p=blank.git diff --git a/src/world/world.cpp b/src/world/world.cpp index 2292d15..528bc40 100644 --- a/src/world/world.cpp +++ b/src/world/world.cpp @@ -764,6 +764,26 @@ Entity &World::ForceAddEntity(std::uint32_t id) { } +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 { @@ -1103,7 +1123,7 @@ void World::RenderDebug(Viewport &viewport) { PrimitiveMesh debug_mesh; PlainColor &prog = viewport.WorldColorProgram(); for (const Entity &entity : entities) { - debug_buf.OutlineBox(entity.Bounds(), TVEC4(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();