From 034c1a858e3835945bb240e988e949f5dd45f41c Mon Sep 17 00:00:00 2001 From: zhenyan121 <3367366583@qq.com> Date: Sat, 13 Dec 2025 18:35:49 +0800 Subject: [PATCH] Render the Actiontype --- src/game/GameSession.cpp | 4 ++++ src/game/GameSession.h | 3 +++ src/scenes/gameplay/GameScene.cpp | 1 + src/ui/managers/GameUIManager.cpp | 30 ++++++++++++++++++++++++++++-- src/ui/managers/GameUIManager.h | 9 ++++++--- 5 files changed, 42 insertions(+), 5 deletions(-) diff --git a/src/game/GameSession.cpp b/src/game/GameSession.cpp index d85c979..6a507bf 100644 --- a/src/game/GameSession.cpp +++ b/src/game/GameSession.cpp @@ -198,4 +198,8 @@ int GameSession::getOldComponentID(int row, int col) { const Board* GameSession::getBoard() const { return m_board.get(); + } + + ActionType GameSession::getCurrentActionType() const { + return m_currentActionType; } \ No newline at end of file diff --git a/src/game/GameSession.h b/src/game/GameSession.h index 7d3da2b..f4da8cf 100644 --- a/src/game/GameSession.h +++ b/src/game/GameSession.h @@ -52,4 +52,7 @@ public: std::optional> getSelectedPiece() const; const Board* getBoard() const; + + ActionType getCurrentActionType() const; + }; \ No newline at end of file diff --git a/src/scenes/gameplay/GameScene.cpp b/src/scenes/gameplay/GameScene.cpp index b7c23a3..3a909f0 100644 --- a/src/scenes/gameplay/GameScene.cpp +++ b/src/scenes/gameplay/GameScene.cpp @@ -45,6 +45,7 @@ void GameScene::handleClick(float screenX, float screenY) { auto [row, col] = click.value(); m_gameSession->handleCoordinateInput(row, col); m_gameSession->printBoard(); + m_gameUIManager->updateActionType( m_gameSession->getCurrentActionType()); } else { SDL_Log("invail cilck aera!"); } diff --git a/src/ui/managers/GameUIManager.cpp b/src/ui/managers/GameUIManager.cpp index f10afb2..8d50a99 100644 --- a/src/ui/managers/GameUIManager.cpp +++ b/src/ui/managers/GameUIManager.cpp @@ -17,9 +17,10 @@ void GameUIManager::init() { button->setPosition(20, 20); button->setEnabled(true); button->setVisible(true); - button->setText("hello,world!!", {"SourceHanSansSC-Regular.otf", 48, {0, 0, 0, 255}}); - button->setName("TestButton"); + button->setText("Please Choose", {"SourceHanSansSC-Regular.otf", 48, {0, 0, 0, 255}}); + button->setName("ActionButton"); m_buttons.emplace(button->getNameHash(), std::move(button)); + auto label = std::make_unique