Files
5.24BuYu/Assets/MyGame/Scripts/Net/WebSocketSendList_ChineseChess.cs
T
2026-09-13 01:40:32 +08:00

70 lines
4.1 KiB
C#

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 + "]}");
}
}