mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
Removed rendering of mouse position in the scene
This commit is contained in:
@@ -67,7 +67,7 @@ SDL_AppResult GameApplication::handleInputEvent(SDL_Event* event) {
|
|||||||
auto pos = Tools::physicalToLogical(input.mouseCurrentPosition.first, input.mouseCurrentPosition.second, m_windowManager->getViewport());
|
auto pos = Tools::physicalToLogical(input.mouseCurrentPosition.first, input.mouseCurrentPosition.second, m_windowManager->getViewport());
|
||||||
|
|
||||||
m_debugManager->updateMousePos(pos.first, pos.second, input);
|
m_debugManager->updateMousePos(pos.first, pos.second, input);
|
||||||
m_sceneManager->handleMousePosition(pos);
|
|
||||||
m_windowManager->setFullscreen(input.isFullscreen);
|
m_windowManager->setFullscreen(input.isFullscreen);
|
||||||
|
|
||||||
// 改变窗口时清理旧的缓存
|
// 改变窗口时清理旧的缓存
|
||||||
|
|||||||
@@ -52,12 +52,7 @@ public:
|
|||||||
* @param y 点击位置的 Y 坐标
|
* @param y 点击位置的 Y 坐标
|
||||||
*/
|
*/
|
||||||
virtual void handleClick(int logicalX, int logicalY) = 0;
|
virtual void handleClick(int logicalX, int logicalY) = 0;
|
||||||
/**
|
|
||||||
* @brief 渲染鼠标位置相关内容
|
|
||||||
* @param x 鼠标位置的 X 坐标
|
|
||||||
* @param y 鼠标位置的 Y 坐标
|
|
||||||
*/
|
|
||||||
virtual void renderMousePosition(int logicalX, int logicalY){};
|
|
||||||
/**
|
/**
|
||||||
* @brief 设置场景事件回调函数
|
* @brief 设置场景事件回调函数
|
||||||
* @param callback 场景事件回调函数
|
* @param callback 场景事件回调函数
|
||||||
|
|||||||
@@ -152,10 +152,7 @@ void SceneManager::handleClickCurrent(std::pair<int, int> clickOn) {
|
|||||||
if (m_scene) m_scene->handleClick(logicalX, logicalY);
|
if (m_scene) m_scene->handleClick(logicalX, logicalY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneManager::handleMousePosition(std::pair<int, int> mousePosition) {
|
|
||||||
auto [logicalX, logicalY] = mousePosition;
|
|
||||||
if (m_scene) m_scene->renderMousePosition(logicalX, logicalY);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SceneManager::updateCurrent() {
|
void SceneManager::updateCurrent() {
|
||||||
if (m_scene) m_scene->update();
|
if (m_scene) m_scene->update();
|
||||||
|
|||||||
@@ -75,9 +75,6 @@ void GameScene::handleClick(int logicalX, int logicalY) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameScene::renderMousePosition(int logicalX, int logicalY) {
|
|
||||||
m_gameUIManager->updateMousePositon(logicalX, logicalY);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GameScene::restartGame() {
|
void GameScene::restartGame() {
|
||||||
m_gameSession = std::make_unique<GameSession>();
|
m_gameSession = std::make_unique<GameSession>();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public:
|
|||||||
void renderUI() override; // 屏幕 UI
|
void renderUI() override; // 屏幕 UI
|
||||||
void handleClick(int logicalX, int logicalYY) override;
|
void handleClick(int logicalX, int logicalYY) override;
|
||||||
|
|
||||||
void renderMousePosition(int logicalX, int logicalY) override;
|
|
||||||
|
|
||||||
void restartGame();
|
void restartGame();
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -50,6 +50,3 @@ void MainMenuScene::handleClick(int logicalX, int logicalY) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainMenuScene::renderMousePosition(int logicalX, int logicalY) {
|
|
||||||
m_mainMenuUIManager->updateMousePositon(logicalX, logicalY);
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@ public:
|
|||||||
void renderUI() override; // 屏幕 UI
|
void renderUI() override; // 屏幕 UI
|
||||||
void handleClick(int logicalX, int logicalY) override;
|
void handleClick(int logicalX, int logicalY) override;
|
||||||
|
|
||||||
void renderMousePosition(int logicalX, int logicalY) override;
|
|
||||||
private:
|
private:
|
||||||
// 其他私有成员变量和方法
|
// 其他私有成员变量和方法
|
||||||
std::unique_ptr<MainMenuUIManager> m_mainMenuUIManager = nullptr;
|
std::unique_ptr<MainMenuUIManager> m_mainMenuUIManager = nullptr;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public:
|
|||||||
// 收集渲染数据
|
// 收集渲染数据
|
||||||
virtual void CollectRenderData() = 0;
|
virtual void CollectRenderData() = 0;
|
||||||
|
|
||||||
virtual void updateMousePositon(int logicalX, int logicalY) = 0;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::unordered_map<int, std::unique_ptr<Button>> m_buttons;
|
std::unordered_map<int, std::unique_ptr<Button>> m_buttons;
|
||||||
|
|||||||
@@ -50,14 +50,6 @@ void GameUIManager::CollectRenderData() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameUIManager::updateMousePositon(int logicalX, int logicalY) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string pos = std::to_string(logicalX) + " " + std::to_string(logicalY);
|
|
||||||
|
|
||||||
m_labels[makeHash("MousePositionLabel")]->setText(pos);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GameUIManager::updateActionType(ActionType type) {
|
void GameUIManager::updateActionType(ActionType type) {
|
||||||
// 根据传入的 ActionType 更新 UI 组件状态
|
// 根据传入的 ActionType 更新 UI 组件状态
|
||||||
@@ -136,14 +128,6 @@ void GameUIManager::setupUIComponents() {
|
|||||||
);
|
);
|
||||||
m_buttons.emplace(button->getNameHash(), std::move(button));
|
m_buttons.emplace(button->getNameHash(), std::move(button));
|
||||||
|
|
||||||
auto label = UIWidgetFactory::createStandardLabel(
|
|
||||||
"MousePositionLabel",
|
|
||||||
"0 0",
|
|
||||||
240,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
m_labels.emplace(label->getNameHash(), std::move(label));
|
|
||||||
|
|
||||||
auto restartButton = UIWidgetFactory::createStandardButton(
|
auto restartButton = UIWidgetFactory::createStandardButton(
|
||||||
"RestartButton",
|
"RestartButton",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public:
|
|||||||
// 收集渲染数据
|
// 收集渲染数据
|
||||||
void CollectRenderData();
|
void CollectRenderData();
|
||||||
|
|
||||||
void updateMousePositon(int logicalX, int logicalY);
|
|
||||||
|
|
||||||
void updateActionType(ActionType type);
|
void updateActionType(ActionType type);
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ void MainMenuUIManager::init() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
m_buttons.emplace(startButton->getNameHash(), std::move(startButton));
|
m_buttons.emplace(startButton->getNameHash(), std::move(startButton));
|
||||||
auto label = UIWidgetFactory::createStandardLabel("MousePositionLabel", "0 0", 240, 0);
|
|
||||||
m_labels.emplace(label->getNameHash(), std::move(label));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenuUIManager::CollectRenderData() {
|
void MainMenuUIManager::CollectRenderData() {
|
||||||
@@ -47,13 +46,6 @@ void MainMenuUIManager::CollectRenderData() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenuUIManager::updateMousePositon(int logicalX, int logicalY) {
|
|
||||||
|
|
||||||
|
|
||||||
std::string pos = std::to_string(logicalX) + " " + std::to_string(logicalY);
|
|
||||||
|
|
||||||
m_labels[makeHash("MousePositionLabel")]->setText(pos);
|
|
||||||
}
|
|
||||||
|
|
||||||
const UIRenderData& MainMenuUIManager::getUIRenderData() {
|
const UIRenderData& MainMenuUIManager::getUIRenderData() {
|
||||||
CollectRenderData();
|
CollectRenderData();
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ public:
|
|||||||
|
|
||||||
void CollectRenderData() override;
|
void CollectRenderData() override;
|
||||||
|
|
||||||
void updateMousePositon(int logicalX, int logicalY) override;
|
|
||||||
|
|
||||||
void handleClick(int logicalX, int logicalY);
|
void handleClick(int logicalX, int logicalY);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user