mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
feat: add PieceInfo display
This commit is contained in:
@@ -82,7 +82,7 @@ void GameScene::onEnter(SDL_Renderer* renderer, int WIDTH, int HEIGHT, UIRendere
|
||||
}
|
||||
|
||||
void GameScene::update() {
|
||||
|
||||
updatePieceInfo();
|
||||
}
|
||||
|
||||
void GameScene::renderWorld() {
|
||||
@@ -149,4 +149,30 @@ void GameScene::restartGame() {
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
void GameScene::updatePieceInfo() {
|
||||
auto [mouseX, mouseY] = m_coreData->inputState.mouseCurrentLogicalPosition;
|
||||
auto click = m_CoordinateConverter->ScreenToBoard(mouseX, mouseY, m_boardRenderer->getBoardArea());
|
||||
|
||||
if (click == std::nullopt) {
|
||||
m_gameUIManager->setLabel("PieceInfoLabel", false);
|
||||
return;
|
||||
}
|
||||
|
||||
auto [row, col] = click.value();
|
||||
|
||||
PieceInfo pieceInfo = m_gameSession->getPieceInfo(row, col);
|
||||
if (!pieceInfo.hasPiece) {
|
||||
m_gameUIManager->setLabel("PieceInfoLabel", false);
|
||||
return;
|
||||
}
|
||||
std::string text = "HP: " + std::to_string(pieceInfo.HP) + "\n" + "ATK: " + std::to_string(pieceInfo.ATK);
|
||||
m_gameUIManager->setLabel("PieceInfoLabel", true);
|
||||
m_gameUIManager->setLabel("PieceInfoLabel", text);
|
||||
|
||||
m_gameUIManager->setLabel("PieceInfoLabel", mouseX, mouseY);
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user