//发送团队角色动画进行同步 public void SendMoveAnimationToPeer(ClientPeer peer, OperationCode opCode, SubCode subCode, int roleId, Dictionary <byte, object> parameters) { EventData data = new EventData(); data.Parameters = parameters; ParameterTool.AddEventToPeer(data.Parameters, opCode, subCode, roleId); peer.SendEvent(data, new SendParameters()); }
//发送团队角色位置和旋转进行同步 public void SendPositionAndRotationToPeer(ClientPeer peer, OperationCode opCode, SubCode subCode, int roleId, object position, object eulerAngles) { EventData data = new EventData(); data.Parameters = new Dictionary <byte, object>(); ParameterTool.AddEventToPeer(data.Parameters, opCode, subCode, roleId); ParameterTool.AddParameter(data.Parameters, ParameterCode.Position, position.ToString(), false); ParameterTool.AddParameter(data.Parameters, ParameterCode.EulerAngles, eulerAngles.ToString(), false); peer.SendEvent(data, new SendParameters()); }
public static void TransmitRequest(ClientPeer peer, OperationRequest request, OperationCode opCode, SubCode subCode) //转发请求 { foreach (ClientPeer temp in peer.Team.clientPeers) { if (temp != peer) //说明这个temp是其他客户端,需要同步 { EventData data = new EventData(); data.Parameters = request.Parameters; ParameterTool.AddEventToPeer(data.Parameters, opCode, subCode, temp.LoginRole.Id); temp.SendEvent(data, new SendParameters()); } } }