#pragma once #include "world/GameTown.h" #include #include namespace frostbite2D { class GameWorld : public Scene { public: GameWorld(); ~GameWorld() override = default; void onEnter() override; void onExit() override; void AddCharacter(RefPtr actor, int townId); void MoveCharacter(RefPtr actor, int townId, int area); static GameWorld* GetWorld(); private: bool InitWorld(); std::map townPathMap_; std::map> townMap_; RefPtr mainActor_; int curTown_ = -1; bool initialized_ = false; }; } // namespace frostbite2D