// 同步操作(对于发起操作的客户端而言,服务器是确认出卡有效,预览模型转换为部署状态。对对方客户端而言,是通知出兵,直接部署) private void OnMsgSynAction(RPCResponse rpc) { if (rpc.ErrCode != ErrorCode.OK) { return; } SynAction ret = Net.Deserialize <SynAction>(rpc.MsgData); // 将操作加入集合中,注意不要立即处理,而是等到对应的turn再处理 _actionQueue.Enqueue(ret); }
// 请求操作(主要是出卡,ponit传屏幕坐标,跟服务器通信转换为cell坐标) public void ReqSynAction(BattleAction action, int cardID, int level, Vector2 cellPos) { int x = (int)cellPos.x; int y = (int)cellPos.y; SynAction data = new SynAction(); data.Action = action; data.UserID = UserID; data.CardID = cardID; data.Level = level; data.PosX = x; data.PosY = y; Net.Send(MSG.SYN_ACTION, data); }