using Assets.MyGame.Scripts.Net; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; [Serializable] public class WebSocketSendList { /// /// SignalR 消息类型,客户端调用服务器永远是 1 /// public int type = 1; /// /// 调用 ID(字符串也可以) /// 用来区分不同请求,可随便填 /// public string invocationId; /// /// 要调用的服务器方法名,例如:JoinRoom、KillFish、Fire /// public string target; /// /// 参数数组(SignalR 要求必须是数组) /// public List arguments; public WebSocketSendList(string target, params object[] param) { invocationId = "1"; this.target = target; arguments = param.ToList(); } /// /// 打中鱼 /// /// /// /// 配置id /// 唯一id public static void KillFish(string roomId, string userId, string fishNumber, string fishId,int paoBei) { var sendObj = new WebSocketSendList("KillFish", roomId, userId, fishNumber, fishId, paoBei, DateTimeOffset.UtcNow.ToUnixTimeSeconds()); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } /// /// 发射子弹 /// /// /// /// 单价 /// 数量 public static void ShootBullet(string roomId, string userId, int gold, int count) { var sendObj = new WebSocketSendList("ShootBullet", roomId, userId, gold, count); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } /// /// 链接登录界面ws /// /// public static void Bind(string userId) { var sendObj = new WebSocketSendList("Bind", userId); WebSocketManager.Instance.Send(SocketType.login, JsonConvert.SerializeObject(sendObj)); } /// /// 加入房间 /// /// /// /// 房间等级 public static void JoinRoom(string roomId, string userId, int level) { var sendObj = new WebSocketSendList("JoinRoom", roomId, userId, level); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } /// /// 使用道具 /// /// /// /// 道具id /// 道具消耗 public static void UseProp(string roomId, string userId, string propNumber, int diamond) { var sendObj = new WebSocketSendList("UseProp", roomId, userId, propNumber, diamond); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } /// /// 离开房间 /// /// /// public static void LeaveRoom(string roomId, string userId) { var sendObj = new WebSocketSendList("LeaveRoom", roomId, userId); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } /// /// 更改炮倍 /// /// /// /// public static void ChangeGunMultiple(string roomId, string userId,int multiple) { var sendObj = new WebSocketSendList("ChangeGunMultiple", roomId, userId, multiple); WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj)); } }