refactor: replace pair with vec2

This commit is contained in:
2026-02-07 09:13:40 +08:00
parent fedef3dd1d
commit 6e71397940
13 changed files with 44 additions and 28 deletions

View File

@@ -11,6 +11,7 @@
#include "graphics/texture/TextureManager.h"
#include "core/CoreData.h"
#include <functional>
#include <glm/glm.hpp>
/**
* @class Scene
* @brief 场景基类

View File

@@ -163,8 +163,9 @@ void SceneManager::changeScene(const std::string& sceneName) {
void SceneManager::handleClickCurrent(std::pair<int, int> clickOn) {
auto [logicalX, logicalY] = clickOn;
void SceneManager::handleClickCurrent(glm::ivec2 clickOn) {
int logicalX = clickOn.x;
int logicalY = clickOn.y;
if (m_scene) m_scene->handleClick(logicalX, logicalY);
}

View File

@@ -92,7 +92,7 @@ public:
* @param clickOn 点击位置坐标对 {x, y}
* @details 将点击事件转发给当前场景的 handleClick() 方法进行处理
*/
void handleClickCurrent(std::pair<int, int> clickOn);
void handleClickCurrent(glm::ivec2 clickOn);

View File

@@ -152,7 +152,8 @@ void GameScene::restartGame() {
}
void GameScene::updatePieceInfo() {
auto [mouseX, mouseY] = m_coreData->inputState.mouseCurrentLogicalPosition;
int mouseX = m_coreData->inputState.mouseCurrentLogicalPosition.x;
int mouseY = m_coreData->inputState.mouseCurrentLogicalPosition.y;
auto click = m_CoordinateConverter->ScreenToBoard(mouseX, mouseY, m_boardRenderer->getBoardArea());
if (click == std::nullopt) {