protected override void OnOperationRequest(Photon.SocketServer.OperationRequest operationRequest, Photon.SocketServer.SendParameters sendParameters) { if (operationRequest.OperationCode == (byte)ClientToServerOpCode.Ping) { (this as Regulus.Remoting.IResponseQueue).Push((int)ServerToClientOpCode.Ping, new Dictionary <byte, byte[]>()); } else if (operationRequest.OperationCode == (byte)ClientToServerOpCode.CallMethod) { var entityId = new Guid(operationRequest.Parameters[0] as byte[]); var methodName = System.Text.Encoding.Default.GetString(operationRequest.Parameters[1] as byte[]); object par = null; Guid returnId = Guid.Empty; if (operationRequest.Parameters.TryGetValue(2, out par)) { returnId = new Guid(par as byte[]); } var methodParams = (from p in operationRequest.Parameters where p.Key >= 3 orderby p.Key select p.Value as byte[]).ToArray(); _Push(entityId, methodName, returnId, methodParams); } }
/// <summary> /// The send operation request. /// </summary> /// <param name = "operationRequest"> /// The operation request. /// </param> public void SendOperationRequest(OperationRequest operationRequest) { this.fiber.Enqueue( () => this.PhotonClient.OpCustom( operationRequest.OperationCode, operationRequest.Parameters, true, 0)); }
public void JoinGameRequestTest() { var request = new Photon.SocketServer.OperationRequest((byte)OperationCode.JoinGame) { Parameters = new System.Collections.Generic.Dictionary <byte, object>() { { (byte)ParameterKey.GameProperties, new Hashtable { { (byte)GameParameter.EmptyRoomTTL, null } } }, { (byte)ParameterKey.GameId, null }, } }; var requestObj = new CreateGameRequest(Photon.SocketServer.Protocol.GpBinaryV162, request, ""); }
/// <summary> /// Sends a couple of operation requests. /// </summary> /// <param name = "operationRequests"> /// The operation requests. /// </param> public void SendOperationRequests(OperationRequest[] operationRequests) { this.fiber.Enqueue( () => { foreach (OperationRequest operationRequest in operationRequests) { this.PhotonClient.OpCustom( operationRequest.OperationCode, operationRequest.Parameters, true, 0); } }); }
public override void OnOperationRequest(Photon.SocketServer.OperationRequest operationRequest, Photon.SocketServer.SendParameters sendParameters, ClientPeer peer) { throw new NotImplementedException(); }