Пример #1
0
 public PacketProcessor(Connection connection, ReliableSlowStream rss, ReliableFastStream rfs, UnreliableStream us, ILogger logger)
 {
     _connection      = connection;
     _destinationPort = -1;
     _streams         = new IStream[] { rss, rfs, us };
     _logger          = logger;
 }
Пример #2
0
        // Method used by client
        public ConnectionClasses(int sourcePort, int destinationPort, ILogger logger)
        {
            Connection connection = new Connection(sourcePort);

            rss = new ReliableSlowStream(logger);
            rfs = new ReliableFastStream(logger);
            us  = new UnreliableStream(logger);
            pp  = new PacketProcessor(connection, destinationPort, rss, rfs, us, logger);
        }
Пример #3
0
        // Method used by server
        public ConnectionClasses(int sourcePort, int delayInMs, int packetLossPct, ILogger logger)
        {
            Connection connection = new Connection(sourcePort, delayInMs, packetLossPct);

            rss = new ReliableSlowStream(logger);
            rfs = new ReliableFastStream(logger);
            us  = new UnreliableStream(logger);
            pp  = new PacketProcessor(connection, rss, rfs, us, logger);
        }
Пример #4
0
    void Update()
    {
        if (_reliableFastStream == null)
        {
            _reliableFastStream = Client.ConnectionClasses.rfs;
        }

        if (_ipEndPoint == null)
        {
            _ipEndPoint = Client.ipEndPoint;
        }

        int deltaTimeInMs = (int)(1000 * Time.deltaTime);

        _acumTimeFrames += deltaTimeInMs;
        if (_acumTimeFrames > _msBetweenFrames)
        {
            UpdatePosition();
            _acumTimeFrames = _acumTimeFrames % _msBetweenFrames;
            byte input = InputUtils.GetKeyboardInput();
            if (input != 0)
            {
                _reliableFastStream.SendInput(input, _playerId, _ipEndPoint);