void SendStatePacketToClient(PlayerController inPlayerController)
        {
            int network_id = 0;

            do
            {
                //Log.Information($"SendStatePacketToClient");
                //build state packet
                var statePacket = GetServer().CreateMessage();

                //it's state!
                statePacket.Write((uint32_t)PacketType.kState, PacketTypeLengthBits);

                InFlightPacket ifp = inPlayerController.GetDeliveryNotificationManager().WriteState(statePacket);

                WriteLastMoveTimestampIfDirty(statePacket, inPlayerController);

                var rmtd = new ReplicationManagerTransmissionData(inPlayerController.GetReplicationManagerServer());
                network_id = inPlayerController.GetReplicationManagerServer().Write(statePacket, rmtd, network_id, inPlayerController.GetWorldId());
                ifp.SetTransmissionData((int)TransmissionDataType.kReplicationManager, rmtd);

                inPlayerController.SendMessage(statePacket, NetDeliveryMethod.Unreliable);


                //Debug.Log($"SendStatePacketToClient PlayerId:{inPlayerController.GetPlayerId()}, network_id:{network_id}");
            } while (network_id != 0);
        }
Ejemplo n.º 2
0
        void SendStatePacketToClient(ClientProxy inClientProxy)
        {
            //build state packet
            var statePacket = GetServer().CreateMessage();

            //it's state!
            statePacket.Write((uint32_t)PacketType.kStateCC);

            InFlightPacket ifp = inClientProxy.GetDeliveryNotificationManager().WriteState(statePacket);

            WriteLastMoveTimestampIfDirty(statePacket, inClientProxy);

            AddScoreBoardStateToPacket(statePacket);

            var rmtd = new ReplicationManagerTransmissionData(inClientProxy.GetReplicationManagerServer());

            inClientProxy.GetReplicationManagerServer().Write(statePacket, rmtd);
            ifp.SetTransmissionData((int)TransmissionDataType.kReplicationManager, rmtd);

            var ret = GetServer().SendMessage(statePacket, inClientProxy.mConnection, NetDeliveryMethod.Unreliable);
            //log.InfoFormat("send {0}", ret);
        }