Changed the entity system to utilize mix-ins. Added instanced sprites. Texture support.
28 lines
787 B
C++
28 lines
787 B
C++
#pragma once
|
|
|
|
#include <Engine/types/scene/Scene.h>
|
|
#include <Engine/GameWindow.h>
|
|
|
|
namespace Globals {
|
|
using namespace Engine;
|
|
|
|
inline std::vector<Scene*> 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;
|
|
}
|
|
}
|