示例#1
0
 protected override bool ProcessBeforeJoinGame(JoinGameRequest joinRequest, SendParameters sendParameters, HivePeer peer)
 {
     if (joinRequest.ActorProperties != null && joinRequest.ActorProperties.ContainsKey("ProcessBeforeJoinException"))
     {
         peer = null;
         joinRequest.CacheSlice = 123;
     }
     return(base.ProcessBeforeJoinGame(joinRequest, sendParameters, peer));
 }
示例#2
0
 protected override bool ProcessBeforeJoinGame(JoinGameRequest joinRequest, SendParameters sendParameters, HivePeer peer)
 {
     if (joinRequest.ActorProperties != null && joinRequest.ActorProperties.ContainsKey("ProcessBeforeJoinException"))
     {
         peer = null;
         joinRequest.CacheSlice = 123;
     }
     return base.ProcessBeforeJoinGame(joinRequest, sendParameters, peer);
 }
示例#3
0
        protected override bool ProcessSetProperties(HivePeer peer, bool result, string errorMsg, SetPropertiesRequest request, SendParameters sendParameters)
        {
            var value = (string)request.Properties["ActorProperty"];
            if (value == "OnSetPropertiesExceptionInContinue")
            {
                request = null;
            }

            return base.ProcessSetProperties(peer, result, errorMsg, request, sendParameters);
        }
示例#4
0
 protected override bool ProcessBeforeSetProperties(HivePeer peer, SetPropertiesRequest request, Hashtable oldValues, SendParameters sendParameters)
 {
     var value = (string)request.Properties["ActorProperty"];
     if (value == "BeforeSetPropertiesExceptionInContinue")
     {
         peer = null;
         request.TargetActor = null;
         request.ActorNumber = 1;
     }
     return base.ProcessBeforeSetProperties(peer, request, oldValues, sendParameters);
 }
示例#5
0
        protected override bool ProcessSetProperties(HivePeer peer, bool result, string errorMsg, SetPropertiesRequest request, SendParameters sendParameters)
        {
            var value = (string)request.Properties["ActorProperty"];

            if (value == "OnSetPropertiesExceptionInContinue")
            {
                request = null;
            }

            return(base.ProcessSetProperties(peer, result, errorMsg, request, sendParameters));
        }
示例#6
0
        protected override bool ProcessBeforeSetProperties(HivePeer peer, SetPropertiesRequest request, Hashtable oldValues, SendParameters sendParameters)
        {
            var value = (string)request.Properties["ActorProperty"];

            if (value == "BeforeSetPropertiesExceptionInContinue")
            {
                peer = null;
                request.TargetActor = null;
                request.ActorNumber = 1;
            }
            return(base.ProcessBeforeSetProperties(peer, request, oldValues, sendParameters));
        }
示例#7
0
        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);
            }
        }
 public override void OnOperationRequest(Photon.SocketServer.OperationRequest operationRequest, Photon.SocketServer.SendParameters sendParameters, ClientPeer peer)
 {
     throw new NotImplementedException();
 }