Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
CameraControlSystemManager.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
5#include "core/Core.hpp"
6#include "entity/Entity.hpp"
8
10
17 public:
24
31 template <Engine::CScheduler TScheduler> void SetCameraControlSystemScheduler(Engine::Core &core)
32 {
33 if (_currentScheduler == std::type_index(typeid(TScheduler)))
34 return;
37 _currentScheduler = std::type_index(typeid(TScheduler));
38 }
39
40 private:
43};
44
45} // namespace CameraMovement::Resource
FunctionUtils::FunctionID _cameraControlSystemID
Definition CameraControlSystemManager.hpp:41
std::type_index _currentScheduler
Definition CameraControlSystemManager.hpp:42
CameraControlSystemManager(Engine::Core &core)
Definition CameraControlSystemManager.hpp:18
void SetCameraControlSystemScheduler(Engine::Core &core)
Set the CameraControlSystem to use a different scheduler.
Definition CameraControlSystemManager.hpp:31
The core is the place where all the data of the engine is stored. It contains the registry (entities)...
Definition Core.hpp:33
TScheduler & GetScheduler()
Get a scheduler from the registry by its type.
Definition Core.inl:47
decltype(auto) RegisterSystem(Systems... systems)
Add one or multiple systems associated with a specific scheduler.
Definition Core.inl:61
Update scheduler that runs systems every time it is called.
Definition Update.hpp:8
Definition CameraControlSystemManager.hpp:9
void CameraControlSystem(Engine::Core &core)
System that controls the camera based on the active behavior.
Definition CameraControlSystem.cpp:11
std::size_t FunctionID
FunctionID class to represent a unique identifier for functions.
Definition FunctionID.hpp:9