17 void addCamera(
const std::string& name, std::shared_ptr<ICamera> camera) {
18 cameras[name] = camera;
21 std::shared_ptr<ICamera> getCamera(
const std::string& name) {
22 auto it = cameras.find(name);
23 if (it != cameras.end()) {
29 void initializeCameras() {
30 auto mainCamera = std::make_shared<PerspectiveCamera>();
32 CameraManager::getInstance().addCamera(
"main", mainCamera);
34 auto hudCamera = std::make_shared<OrthoCamera>();
36 CameraManager::getInstance().addCamera(
"hud", hudCamera);
38 auto minimapCamera = std::make_shared<OrthoCamera>();
40 CameraManager::getInstance().addCamera(
"minimap", minimapCamera);
42 auto mainMenu_mainCamera = std::make_shared<PerspectiveCamera>();
44 CameraManager::getInstance().addCamera(
"mainMenu_main", mainMenu_mainCamera);
46 auto mainMenu_hudCamera = std::make_shared<OrthoCamera>();
48 CameraManager::getInstance().addCamera(
"mainMenu_hud", mainMenu_hudCamera);
52 std::unordered_map<std::string, std::shared_ptr<ICamera>> cameras;