1
This commit is contained in:
@@ -313,6 +313,23 @@ namespace Assets.MyGame.Scripts.Net
|
||||
}
|
||||
break;
|
||||
|
||||
case "PlayerAfkNotice":
|
||||
{
|
||||
// 玩家挂起通知 { userId }(房间组推送;挂起仅表现提示,不影响服务端操作校验)
|
||||
// 表现层(座位挂起标记)由 UI 对话接入
|
||||
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<PlayerAfkNoticeData>>(msg).arguments[0];
|
||||
Debug.Log($"[Chess] 玩家挂起: userId={va?.userId}");
|
||||
}
|
||||
break;
|
||||
|
||||
case "PlayerCancelAfkNotice":
|
||||
{
|
||||
// 玩家取消挂起通知 { userId }(房间组推送;发起者本人另收 BeginGame 恢复房间同步)
|
||||
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<PlayerAfkNoticeData>>(msg).arguments[0];
|
||||
Debug.Log($"[Chess] 玩家取消挂起: userId={va?.userId}");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -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 + "\"]}");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user