#pragma once #include #include namespace Globals { inline std::vector SceneList{}; inline Scene* CurrentScene = nullptr; inline DemoGameWindow* Window = nullptr; inline float DeltaTime() { return Window->GetDeltaTime(); } inline void ChangeScene(Scene* scene) { if (CurrentScene != nullptr) CurrentScene->Unload(); CurrentScene = scene; if (CurrentScene != nullptr) CurrentScene->Init(); } inline bool ChangeScene (const std::string& scene_name) { Scene* scene = nullptr; for (auto* s : SceneList) if (s->GetName() == scene_name) scene = s; if (scene) ChangeScene(scene); return scene; } }