2022-09-02 11:06:59 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-09-02 23:02:09 +00:00
|
|
|
#include "export.h"
|
|
|
|
|
2022-09-02 11:06:59 +00:00
|
|
|
#include "object.hpp"
|
|
|
|
|
|
|
|
#include <filesystem>
|
|
|
|
|
|
|
|
// Holds everything you would expect to find in a game scene
|
2022-09-02 23:02:09 +00:00
|
|
|
class DECLSPEC SceneRoot : public Object {
|
2022-09-02 11:06:59 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
// create a new empty scene
|
|
|
|
SceneRoot(struct GameIO things);
|
|
|
|
SceneRoot(const std::filesystem::path& file, struct GameIO things);
|
|
|
|
|
|
|
|
SceneRoot(const SceneRoot&) = delete;
|
|
|
|
SceneRoot& operator=(const SceneRoot&) = delete;
|
|
|
|
~SceneRoot();
|
|
|
|
|
|
|
|
void updateStuff();
|
|
|
|
|
|
|
|
void activateCam(int id);
|
|
|
|
void deactivateCam(int id);
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::vector<int> m_activeCameras{};
|
|
|
|
|
|
|
|
};
|