This commit is contained in:
2026-06-26 23:42:49 +08:00
parent 4a16e92548
commit e8b2ec78a6
5 changed files with 171 additions and 37 deletions
@@ -190,6 +190,81 @@ namespace Assets.MyGame.Scripts.Net
}
break;
// ======== 新增缺失事件 ========
case "JoinRoom":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg).arguments[0];
// 调用者自身加入成功
if (roomMainPanel != null) roomMainPanel.UpdateUserData(va);
}
break;
case "Reconnect":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
Debug.Log($"[Chess] 重连: userId={va["userId"]}, userName={va["userName"]}");
}
break;
case "AllBeginTime":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg).arguments[0];
Debug.Log("[Chess] 双方已准备,开始计时");
}
break;
case "GameEnd":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
string winUserId = va["winUserId"]?.ToString();
if (string.IsNullOrEmpty(winUserId))
roomMainPanel.subUIManager.ShowAsync(UIPanel.ZGXQHe);
else if (winUserId == GameManager.Instance.user.id)
roomMainPanel.subUIManager.ShowAsync(UIPanel.ZGXQWin);
else
roomMainPanel.subUIManager.ShowAsync(UIPanel.ZGXQDefeated);
}
break;
case "EndGameRequestSent":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<string>>(msg).arguments[0];
Debug.Log("[Chess] 结束请求已发送: " + va);
}
break;
case "OpponentRequestEnd":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<string>>(msg).arguments[0];
Debug.Log("[Chess] 对手请求结束: " + va);
}
break;
case "RestartGameSuccess":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg).arguments[0];
if (roomMainPanel != null) roomMainPanel.StartGame(msg);
}
break;
case "RestartRoomNotice":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg).arguments[0];
var panel = roomMainPanel?.subUIManager.Get<UIChineseChessDistrict>(UIPanel.ZGXQDistrict);
if (panel != null) panel.UpdataRoom(va);
}
break;
case "SyncGameData":
{
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
string data = va["data"]?.ToString();
Debug.Log("[Chess] 同步数据: " + data);
}
break;
default:
break;
}