示例#1
0
        //============ Static Methods =======================//



        //============ Object Networking ====================//

        /// <summary>
        /// Sends the RPC to server.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="rpcMethodIndex">Index of the RPC method.</param>
        /// <param name="iObj">The <see cref="ITinyNetObject"/> instance.</param>
        public void SendRPCToServer(NetDataWriter stream, int rpcMethodIndex, ITinyNetObject iObj)
        {
            var msg = new TinyNetRPCMessage();

            msg.networkID      = iObj.NetworkID;
            msg.rpcMethodIndex = rpcMethodIndex;
            msg.parameters     = stream.Data;

            SendMessageByChannelToTargetConnection(msg, DeliveryMethod.ReliableOrdered, connToHost);
        }
示例#2
0
        /// <summary>
        /// Sends the RPC to all clients.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="rpcMethodIndex">Index of the RPC method.</param>
        /// <param name="iObj">The object.</param>
        public void SendRPCToAllClients(NetDataWriter stream, int rpcMethodIndex, ITinyNetObject iObj)
        {
            var msg = new TinyNetRPCMessage();

            msg.networkID      = iObj.NetworkID;
            msg.rpcMethodIndex = rpcMethodIndex;
            msg.parameters     = stream.Data;

            SendMessageByChannelToAllObserversOf(iObj.NetIdentity, msg, DeliveryMethod.ReliableOrdered);
        }
示例#3
0
        //============ Static Methods =======================//



        //============ Object Networking ====================//

        /// <summary>
        /// Sends the RPC to server.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="rpcMethodIndex">Index of the RPC method.</param>
        /// <param name="iObj">The <see cref="ITinyNetComponent"/> instance.</param>
        public void SendRPCToServer(NetDataWriter stream, int rpcMethodIndex, ITinyNetComponent iObj)
        {
            //TODO: Pack rpc messages
            var msg = new TinyNetRPCMessage();

            msg.networkID      = iObj.TinyInstanceID.NetworkID;
            msg.componentID    = iObj.TinyInstanceID.ComponentID;
            msg.rpcMethodIndex = rpcMethodIndex;
            msg.frameTick      = LastServerTick;
            msg.parameters     = stream.Data;

            SendMessageByChannelToTargetConnection(msg, DeliveryMethod.ReliableOrdered, connToHost);
        }
示例#4
0
        /// <summary>
        /// Sends the RPC to all clients.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="rpcMethodIndex">Index of the RPC method.</param>
        /// <param name="iObj">The object.</param>
        public void SendRPCToAllClients(NetDataWriter stream, int rpcMethodIndex, ITinyNetComponent iObj)
        {
            //TODO: Pack rpc messages
            var msg = new TinyNetRPCMessage();

            msg.networkID      = iObj.TinyInstanceID.NetworkID;
            msg.componentID    = iObj.TinyInstanceID.ComponentID;
            msg.rpcMethodIndex = rpcMethodIndex;
            msg.frameTick      = ServerTick;
            msg.parameters     = stream.Data;

            TinyNetIdentity tni = GetTinyNetIdentityByNetworkID(iObj.TinyInstanceID.NetworkID);

            SendMessageByChannelToAllObserversOf(tni, msg, DeliveryMethod.ReliableOrdered);
        }