A 2D tile-based sandbox game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TileMap.h 388B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "Tile.h"
  3. namespace Swan {
  4. class TileMap {
  5. public:
  6. std::vector<Tile *> tiles_;
  7. std::map<std::string, Tile::ID> id_map_;
  8. Tile::ID getID(const std::string &name) {
  9. return id_map_[name];
  10. }
  11. Tile *get(Tile::ID id) {
  12. return tiles_[id];
  13. }
  14. void registerTile(Tile *t) {
  15. Tile::ID id = tiles_.size();
  16. tiles_.push_back(t);
  17. id_map_[t->name_] = id;
  18. }
  19. };
  20. }