mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
33 lines
716 B
C++
33 lines
716 B
C++
#pragma once
|
|
#include "ui/base/IUIManager.h"
|
|
#include "game/GameTypes.h"
|
|
#include <functional>
|
|
class GameUIManager : public IUIManager {
|
|
public:
|
|
GameUIManager(SDL_Renderer* renderer, TextRenderer* textRenderer);
|
|
|
|
~GameUIManager();
|
|
|
|
void init();
|
|
|
|
void setCallback(std::function<void()> restartCallback);
|
|
|
|
const UIRenderData& getUIRenderData();
|
|
// 收集渲染数据
|
|
void CollectRenderData();
|
|
|
|
|
|
|
|
void updateActionType(ActionType type);
|
|
|
|
void updateGameState(GameState state);
|
|
|
|
bool handleClick(int logicalX, int logicalY);
|
|
private:
|
|
std::function<void()> m_restartCallback;
|
|
void setupUIComponents();
|
|
|
|
GameState m_currentGameState = GameState::GAME_RUNING;
|
|
};
|
|
|