#pragma once

#include "camera/GameCameraController.h"
#include "character/CharacterObject.h"
#include "map/GameMap.h"
#include "scene/GameDebugUIScene.h"
#include <frostbite2D/scene/scene.h>

namespace frostbite2D {

class GameMapTestScene : public Scene {
public:
  GameMapTestScene();
  ~GameMapTestScene() override = default;

  void onEnter() override;
  void onExit() override;
  void Update(float deltaTime) override;

private:
  GameCameraController cameraController_;
  RefPtr<CharacterObject> character_;
  RefPtr<GameDebugUIScene> debugScene_;
  bool initialized_ = false;
  RefPtr<GameMap> map_;
};

} // namespace frostbite2D
