20 void addCamera(
const std::string& name, std::shared_ptr<ICamera> camera) {
21 cameras[name] = camera;
24 std::shared_ptr<ICamera> getCamera(
const std::string& name) {
25 auto it = cameras.find(name);
26 if (it != cameras.end()) {
32 void initializeCameras() {
33 auto mainCamera = std::make_shared<PerspectiveCamera>();
35 CameraManager::getInstance().addCamera(
"main", mainCamera);
37 auto hudCamera = std::make_shared<OrthoCamera>();
39 CameraManager::getInstance().addCamera(
"hud", hudCamera);
41 auto mainMenu_mainCamera = std::make_shared<PerspectiveCamera>();
43 CameraManager::getInstance().addCamera(
"mainMenu_main", mainMenu_mainCamera);
45 auto mainMenu_hudCamera = std::make_shared<OrthoCamera>();
47 CameraManager::getInstance().addCamera(
"mainMenu_hud", mainMenu_hudCamera);
51 std::unordered_map<std::string, std::shared_ptr<ICamera>> cameras;