예제 #1
0
        public void SendClientRpc(Message scriptMessage, ushort targetClient)
        {
            if (!isServer)
            {
                throw new Exception("Cannot send ClientRpc message because you are not server");
            }

            UMsgScriptMessage msg = new UMsgScriptMessage(this, scriptMessage);

            UNetworkManager.singleton.SendMessageToAllClients(msg);
        }
예제 #2
0
        private void ClientHandleUMsgScriptMessage(Message m)
        {
            UMsgScriptMessage msg  = m as UMsgScriptMessage;
            UNetworkIdentity  iden = networkObjects[msg.netid];

            Message newMsg = clientObject.CreateMessageObject(msg.originalMessageId);

            NetBuffer buffer = new NetBuffer();

            buffer.Data = msg.messageData;

            newMsg.Read(buffer);

            iden.HandleScriptMessage(newMsg, msg.netComponentId);
        }
예제 #3
0
        private void ServerHandleUMsgScriptMessage(Message m)
        {
            UMsgScriptMessage msg  = m as UMsgScriptMessage;
            UNetworkIdentity  iden = null;

            networkObjects.TryGetValue(msg.netid, out iden);

            if (iden == null)
            {
                return;
            }

            Message newMsg = serverObject.CreateMessageObject(msg.originalMessageId);

            newMsg.sourceClient = msg.sourceClient;

            NetBuffer buffer = new NetBuffer();

            buffer.Data = msg.messageData;

            newMsg.Read(buffer);

            iden.HandleScriptMessage(newMsg, msg.netComponentId);
        }