Files
NS_unknown_game/game/src/scene/whitebox_scene.h
T
2026-06-09 14:28:36 +08:00

49 lines
1.2 KiB
C++

#pragma once
#include "../actor/player_actor.h"
#include "../core/debug_flags.h"
#include "../data/level_definition.h"
#include "../debug/debug_overlay.h"
#include "camera_controller.h"
#include "../stage/stage_renderer.h"
#include <frostbite2D/scene/scene.h>
#include <frostbite2D/types/type_math.h>
#include <string>
#include <vector>
namespace ns_game {
class WhiteboxScene : public frostbite2D::Scene {
public:
void onEnter() override;
void Update(float deltaTime) override;
bool OnEvent(const frostbite2D::Event& event) override;
void Render() override;
private:
struct BattleZoneRuntime {
bool triggered = false;
bool cleared = false;
};
frostbite2D::Camera* activeCamera() const;
std::vector<BattleZoneDebugInfo> buildBattleZoneDebugInfo() const;
void configureCamera();
void toggleDebugOverlay();
void clearActiveBattleZone();
void updateBattleZones();
void updateCamera(float deltaTime);
LevelDefinition level_;
DebugFlags debugFlags_;
std::vector<BattleZoneRuntime> battleZoneStates_;
int activeBattleZoneIndex_ = -1;
CameraController cameraController_;
StageRenderer stageRenderer_;
DebugOverlay debugOverlay_;
frostbite2D::Ptr<PlayerActor> player_;
};
} // namespace ns_game