Files
Destrum/lightkeeper/include/Lightkeeper.h
T

37 lines
942 B
C++

#ifndef LIGHTKEEPER_H
#define LIGHTKEEPER_H
#include <memory>
#include <string_view>
#include <destrum/App.h>
#include <destrum/Graphics/Camera.h>
#include <destrum/Graphics/Resources/Cubemap.h>
class FirstPersonController;
class LightKeeper final : public App {
public:
static constexpr std::string_view MainScenePath = "game://scenes/main.scene";
void customInit() override;
void customUpdate(float dt) override;
void customCleanup() override;
void customWindowsMenu() override;
void onPlayModeChanged(bool playing) override;
[[nodiscard]] Camera* gameCamera() override;
private:
void setupSkybox();
void findPlayer();
void drawTestWindow();
void spawnBall();
std::unique_ptr<CubeMap> skyboxCubemap;
Camera playerCamera{glm::vec3{0.0f}, glm::vec3{0.0f, 1.0f, 0.0f}};
FirstPersonController* playerController{nullptr};
bool showTestWindow{false};
};
#endif // LIGHTKEEPER_H