mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
34 lines
904 B
C++
34 lines
904 B
C++
#pragma once
|
|
#include "scenes/base/Scene.h"
|
|
#include "graphics/game/BoardRenderer.h"
|
|
#include "graphics/game/CoordinateConverter.h"
|
|
#include "game/GameSession.h"
|
|
#include "graphics/ui/UIRenderer.h"
|
|
#include "ui/managers/GameUIManager.h"
|
|
#include <memory>
|
|
class GameScene : public Scene {
|
|
public:
|
|
GameScene();
|
|
~GameScene();
|
|
|
|
void onEnter(SDL_Renderer* renderer, int WIDTH, int HEIGHT, UIRenderer* uiRenderer) override;
|
|
|
|
void update() override;
|
|
void renderWorld() override; // 逻辑世界
|
|
void renderUI() override; // 屏幕 UI
|
|
void handleClick(int logicalX, int logicalYY) override;
|
|
|
|
|
|
|
|
void restartGame();
|
|
protected:
|
|
|
|
std::unique_ptr<BoardRenderer> m_boardRenderer;
|
|
std::unique_ptr<CoordinateConverter> m_CoordinateConverter;
|
|
std::unique_ptr<GameSession> m_gameSession;
|
|
private:
|
|
std::unique_ptr<GameUIManager> m_gameUIManager;
|
|
|
|
|
|
|
|
};
|