using Assets.MyGame.Scripts.Net; using Assets.MyGame.Scripts.Net.WebResponses.ChineseChess; using Newtonsoft.Json; public partial class WebSocketSendList { public static void CreateRoomChineseChess(ChineseChessGameClassList.CreateRoomParam param) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"CreateRoom\",\"invocationId\":\"1\",\"arguments\":[" + JsonConvert.SerializeObject(param) + "]}"); } public static void GetRoomListChineseChess(int district) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"GetRoomList\",\"invocationId\":\"1\",\"arguments\":[" + district + "]}"); } public static void SelectGlodChineseChess(string roomId, int gold, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"GoldConfig\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\"," + gold + ",\"" + userId + "\"]}"); } public static void JoinGameChineseChess(string roomId, string pwd, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"JoinGame\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\",\"" + pwd + "\",\"" + userId + "\"]}"); } public static void EndGameChineseChess(string roomId, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"EndGame\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\",\"" + userId + "\"]}"); } public static void GameReadyChineseChess(string roomId, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"GameReady\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\",\"" + userId + "\"]}"); } public static void ExitRoomChineseChess(string roomId, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"ExitRoom\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\",\"" + userId + "\"]}"); } public static void GameOperationChineseChess(string roomId, int operateID, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"GameOperation\",\"invocationId\":\"1\",\"arguments\":[\"" + roomId + "\"," + operateID + ",\"" + userId + "\"]}"); } // ======== 新增缺失方法 ======== public static void StartGameChineseChess(string gameId, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"StartGame\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + userId + "\"]}"); } public static void RestartGameChineseChess(string gameId, string userId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"RestartGame\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + userId + "\"]}"); } public static void RequestEndGameChineseChess(string gameId, string userId, string winUserId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"RequestEndGame\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + userId + "\",\"" + winUserId + "\"]}"); } public static void HeartbeatChineseChess(string gameId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"Heartbeat\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\"]}"); } public static void CheckTimeoutChineseChess(string gameId) { WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"CheckTimeout\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\"]}"); } public static void SyncGameDataChineseChess(string gameId, string data) { // data 是 JSON 字符串(象棋走子帧数据),必须整体转义后再嵌入外层报文,否则引号会破坏 JSON string escaped = data == null ? "\"\"" : JsonConvert.SerializeObject(data); WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"SyncGameData\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\"," + escaped + "]}"); } }