mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
fix: crash on exiting network battle
This commit is contained in:
@@ -103,6 +103,7 @@ void OnlineGameScene::handleBoardClick(int row, int col) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void OnlineGameScene::handleClick(int logicalX, int logicalY) {
|
void OnlineGameScene::handleClick(int logicalX, int logicalY) {
|
||||||
|
|
||||||
// 要阻止的是鼠标点击事件,但是网络事件可以处理
|
// 要阻止的是鼠标点击事件,但是网络事件可以处理
|
||||||
if (m_currentGameState == GameState::GAME_RUNING && !m_isMyTurn) {
|
if (m_currentGameState == GameState::GAME_RUNING && !m_isMyTurn) {
|
||||||
std::cout << "It is not your turn, click ignored.\n";
|
std::cout << "It is not your turn, click ignored.\n";
|
||||||
@@ -111,6 +112,10 @@ void OnlineGameScene::handleClick(int logicalX, int logicalY) {
|
|||||||
|
|
||||||
// 重用父类的逻辑
|
// 重用父类的逻辑
|
||||||
GameScene::handleClick(logicalX, logicalY);
|
GameScene::handleClick(logicalX, logicalY);
|
||||||
|
// 此时调用changgescene时,没有缓存导致类已经析构为空指针,我服了,使用考虑要不要缓存一下在清理
|
||||||
|
if (!m_gameSession || !m_networkManager) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (m_currentGameState != GameState::GAME_RUNING) {
|
if (m_currentGameState != GameState::GAME_RUNING) {
|
||||||
std::cout << "Game has not started yet, not sending click\n";
|
std::cout << "Game has not started yet, not sending click\n";
|
||||||
return; // 游戏未开始不发送点击
|
return; // 游戏未开始不发送点击
|
||||||
|
|||||||
Reference in New Issue
Block a user