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());
|
||||
|
||||
m_debugManager->updateMousePos(pos.first, pos.second, input);
|
||||
m_sceneManager->handleMousePosition(pos);
|
||||
|
||||
m_windowManager->setFullscreen(input.isFullscreen);
|
||||
|
||||
// 改变窗口时清理旧的缓存
|
||||
|
||||
@@ -52,12 +52,7 @@ public:
|
||||
* @param y 点击位置的 Y 坐标
|
||||
*/
|
||||
virtual void handleClick(int logicalX, int logicalY) = 0;
|
||||
/**
|
||||
* @brief 渲染鼠标位置相关内容
|
||||
* @param x 鼠标位置的 X 坐标
|
||||
* @param y 鼠标位置的 Y 坐标
|
||||
*/
|
||||
virtual void renderMousePosition(int logicalX, int logicalY){};
|
||||
|
||||
/**
|
||||
* @brief 设置场景事件回调函数
|
||||
* @param callback 场景事件回调函数
|
||||
|
||||
@@ -152,10 +152,7 @@ void SceneManager::handleClickCurrent(std::pair<int, int> clickOn) {
|
||||
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() {
|
||||
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() {
|
||||
m_gameSession = std::make_unique<GameSession>();
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
void renderUI() override; // 屏幕 UI
|
||||
void handleClick(int logicalX, int logicalYY) override;
|
||||
|
||||
void renderMousePosition(int logicalX, int logicalY) override;
|
||||
|
||||
|
||||
void restartGame();
|
||||
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 handleClick(int logicalX, int logicalY) override;
|
||||
|
||||
void renderMousePosition(int logicalX, int logicalY) override;
|
||||
|
||||
private:
|
||||
// 其他私有成员变量和方法
|
||||
std::unique_ptr<MainMenuUIManager> m_mainMenuUIManager = nullptr;
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
// 收集渲染数据
|
||||
virtual void CollectRenderData() = 0;
|
||||
|
||||
virtual void updateMousePositon(int logicalX, int logicalY) = 0;
|
||||
|
||||
|
||||
protected:
|
||||
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) {
|
||||
// 根据传入的 ActionType 更新 UI 组件状态
|
||||
@@ -136,15 +128,7 @@ void GameUIManager::setupUIComponents() {
|
||||
);
|
||||
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(
|
||||
"RestartButton",
|
||||
"Restart",
|
||||
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
// 收集渲染数据
|
||||
void CollectRenderData();
|
||||
|
||||
void updateMousePositon(int logicalX, int logicalY);
|
||||
|
||||
|
||||
void updateActionType(ActionType type);
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@ void MainMenuUIManager::init() {
|
||||
);
|
||||
|
||||
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() {
|
||||
@@ -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() {
|
||||
CollectRenderData();
|
||||
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
|
||||
void CollectRenderData() override;
|
||||
|
||||
void updateMousePositon(int logicalX, int logicalY) override;
|
||||
|
||||
|
||||
void handleClick(int logicalX, int logicalY);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user