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.

World.cc 634B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "World.h"
  2. namespace Swan {
  3. WorldPlane::PlaneID World::addPlane() {
  4. WorldPlane::PlaneID id = planes_.size();
  5. planes_.push_back(WorldPlane());
  6. WorldPlane &plane = planes_.back();
  7. plane.id_ = id;
  8. return id;
  9. }
  10. void World::registerTile(Tile *t) {
  11. Tile::TileID id = registered_tiles_.size();
  12. registered_tiles_.push_back(t);
  13. tile_id_map_[t->name_] = id;
  14. }
  15. void World::draw(Win &win) {
  16. planes_[current_plane_].draw(win);
  17. player_->draw(win);
  18. }
  19. void World::update(float dt) {
  20. for (auto &plane: planes_)
  21. plane.update(dt);
  22. player_->update(dt);
  23. }
  24. void World::tick() {
  25. for (auto &plane: planes_)
  26. plane.tick();
  27. }
  28. }