Example #1
0
        public void SendRPC(RMPNetworkView sender, QosType channel, string methodName, params object[] parameters)
        {
            if (string.IsNullOrEmpty(sender.Guid))
            {
                Debug.LogWarning("RPC Aborted : The Guid is empty.");
                return;
            }

            if (parameters == null)
            {
                Debug.LogWarning("RPC Aborted : Parameters array can not be null.");
                return;
            }

            var msg = new Packet();

            msg.Write((byte)RMPEncoding.ProtocolId.RPC);
            msg.Write(sender.Guid);
            msg.Write(methodName);
            msg.Write(parameters.Length);

            foreach (object param in parameters)
            {
                RMPEncoding.WriteParameter(msg, param);
            }

            NetworkService.Send(HostId, ConnectionId, msg);
        }