This commit is contained in:
2026-09-24 23:53:02 +08:00
parent bb11d58f7b
commit b777f0f6aa
21 changed files with 89 additions and 1 deletions
@@ -34,6 +34,8 @@ public partial class WebSocketSendList
}
public static void GameOperationChineseChess(string roomId, int operateID, string userId)
{
// ⚠ 文档定义: invoke("GameOperation", gameId, type, data),type: 1=求和 2=认输 3=悔棋,data=附加数据。
// 现有 UI 层调用第三参传的是玩家编号,operateID 还含 4/5 等 UI 扩展值——与文档的语义对齐由 UI 层对话处理,协议层保持原样。
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"GameOperation\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\"," + operateID + ",\"" + userId + "\"]}");
}
@@ -66,4 +68,16 @@ public partial class WebSocketSendList
string escaped = data == null ? "\"\"" : JsonConvert.SerializeObject(data);
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"SyncGameData\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\"," + escaped + "]}");
}
/// <summary>玩家挂起(2.13):对局中将自己标记为挂起状态,房间内其他玩家收到 PlayerAfkNotice</summary>
public static void SetPlayerAfkChineseChess(string gameId, string userId)
{
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"SetPlayerAfk\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + userId + "\"]}");
}
/// <summary>取消挂起(2.13):房间内其他玩家收到 PlayerCancelAfkNotice,本人收到 BeginGame 恢复房间同步</summary>
public static void CancelPlayerAfkChineseChess(string gameId, string userId)
{
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"CancelPlayerAfk\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + userId + "\"]}");
}
}