2#include "main/ResourceManager.hpp"
3#include "main/GameObject.hpp"
4#include "utilities/Stream.hpp"
5#include "visuals/Camera.hpp"
7#include <unordered_map>
13 namespace Visuals {
class Camera; };
23 friend class SceneManager;
75 #ifdef StevEngine_SHOW_WINDOW
144 #ifdef StevEngine_SHOW_WINDOW
149 std::map<Utilities::ID, GameObject, Utilities::ID> gameObjects;
Main engine class managing core systems.
Definition Engine.hpp:27
Core game object class.
Definition GameObject.hpp:35
GameObject & GetParent() const
Get parent object.
Definition GameObject.cpp:106
Container for loaded resource data.
Definition ResourceManager.hpp:11
Manages multiple scenes and scene transitions.
Definition SceneManager.hpp:15
std::vector< Utilities::ID > GetAllParentObjects()
Get IDs of all root objects (no parent)
Definition Scene.cpp:55
void DestroyObject(Utilities::ID id)
Destroy object and all children.
Definition Scene.cpp:63
Scene(std::string name)
Should never be called directly, use SceneManager::CreateScene.
Definition Scene.cpp:66
Visuals::Camera * GetCamera()
Get main camera component.
Definition Scene.hpp:80
bool Exists(Utilities::ID id)
Checks if an object with the specified id exists.
Definition Scene.cpp:40
std::vector< Utilities::ID > GetAllObjects()
Get IDs of all objects in scene.
Definition Scene.cpp:47
Utilities::ID CreateObject()
Create empty GameObject.
Definition Scene.cpp:10
GameObject & GetObject(Utilities::ID id)
Get object by ID.
Definition Scene.cpp:43
const std::string name
Scene name/identifier.
Definition Scene.hpp:26
GameObject & GetCameraObject()
Get camera object.
Definition Scene.hpp:86
Utilities::Stream Export(Utilities::StreamType type)
Export entire scene.
Definition Scene.cpp:83
UUID-based unique identifier.
Definition ID.hpp:13
Quaternion for 3D rotations.
Definition Quaternion.hpp:19
Stream for serialization of data.
Definition Stream.hpp:20
3D vector class
Definition Vector3.hpp:19
Camera component for view and projection control.
Definition Camera.hpp:16