X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftile_manager.h;h=e05f6b38fc5dce5836ed175991a2396d7b5970f8;hb=546364c9567ef212ea9276201facf73f5ada696a;hp=a55fcb84d8f228fe04af0fce23835ab9bc9665a1;hpb=c79b901309bf5e0544fef1e92d264f51402f4370;p=supertux.git diff --git a/src/tile_manager.h b/src/tile_manager.h index a55fcb84d..e05f6b38f 100644 --- a/src/tile_manager.h +++ b/src/tile_manager.h @@ -24,6 +24,7 @@ #include #include #include +#include class Tile; @@ -44,7 +45,9 @@ class TileManager TileManager(); ~TileManager(); - std::vector tiles; + typedef std::map Tiles; + Tiles tiles; + static TileManager* instance_ ; static std::set* tilegroups_; void load_tileset(std::string filename); @@ -61,20 +64,11 @@ class TileManager const Vector& pos, int layer); static std::set* tilegroups() { if(!instance_) { instance_ = new TileManager(); } return tilegroups_ ? tilegroups_ : tilegroups_ = new std::set; } - Tile& get(unsigned int id) { - if(id < tiles.size()) - { - return *tiles[id]; - } - else - { - // Never return 0, but return the 0th tile instead so that - // user code doesn't have to check for NULL pointers all over - // the place - return *tiles[0]; - } - } + unsigned int total_ids() + { return tiles.size(); } + + Tile* get(unsigned int id); }; #endif