Exemple #1
0
 public Input(BitBuffer buffer)
 {
     _isPressingForwardKey   = buffer.GetBit();
     _isPressingBackwardsKey = buffer.GetBit();
     _isPressingLeftKey      = buffer.GetBit();
     _isPressingRightKey     = buffer.GetBit();
 }
Exemple #2
0
 public void Deserialize(BitBuffer buffer)
 {
     commandNumber = buffer.GetInt();
     up            = buffer.GetBit();
     down          = buffer.GetBit();
     space         = buffer.GetBit();
 }
Exemple #3
0
 public void Load(BitBuffer buffer)
 {
     Up    = buffer.GetBit();
     Down  = buffer.GetBit();
     Left  = buffer.GetBit();
     Right = buffer.GetBit();
     Shoot = buffer.GetBit();
 }
Exemple #4
0
 public void Load(BitBuffer buffer)
 {
     up    = buffer.GetBit();
     down  = buffer.GetBit();
     left  = buffer.GetBit();
     right = buffer.GetBit();
     shoot = buffer.GetBit();
 }
Exemple #5
0
 public void Deserialize(BitBuffer buffer)
 {
     number     = buffer.GetInt();
     x          = buffer.GetFloat();
     y          = buffer.GetFloat();
     rotation_x = buffer.GetFloat();
     rotation_y = buffer.GetFloat();
     rotation_z = buffer.GetFloat();
     space      = buffer.GetBit();
 }
Exemple #6
0
    public void Deserialize(BitBuffer buffer)
    {
        inputNumber = buffer.GetInt();
        forwards    = buffer.GetFloat();
        rotate      = buffer.GetFloat();
        shoot       = buffer.GetBit();
        var hitCount = buffer.GetInt();

        for (int i = 0; i < hitCount; i++)
        {
            var newHitPackage = new HitPackage();
            newHitPackage.Deserialize(buffer);
            hitPackages.Add(newHitPackage);
        }
    }
Exemple #7
0
 public void Load(BitBuffer buffer)
 {
     x     = buffer.GetFloat();
     y     = buffer.GetFloat();
     shoot = buffer.GetBit();
 }
Exemple #8
0
    private void ReadMessage(Message message)
    {
        if (message.messageType == MessageType.Join)
        {
            var idPlayer = idCounter++;

            var playerScript = CreatePlayer();
            playerScript.id             = idPlayer;
            playerScript.playerHealth   = playerScript.GetComponent <PlayerHealth>();
            playerScript.playerMovement = playerScript.GetComponent <PlayerMovement>();
            _players.Add(idPlayer, playerScript);
            playersTransforms.Add(playerScript.playerMovement.transform);
            playersHealth.Add(playerScript.playerHealth);
            playersObjects.Add(playerScript.gameObject);

            _ipEndPoints.Add(message.from);

            BitBuffer buffer = new BitBuffer();
            buffer.InsertInt(idPlayer, 0, 10);

            _packetProcessor.SendReliableFastData(buffer.GetByteArray(), message.from, MessageType.JoinACK, _sequence);
            return;
        }

        BitBuffer bitBuffer = new BitBuffer(message.message);

        var id = bitBuffer.GetInt(0, 10);

        // Prevent ReliableFast double input problem
        if (_lastMessageReceived.ContainsKey(id) && _lastMessageReceived[id] >= message.messageId)
        {
            return;
        }

        _lastMessageReceived[id] = message.messageId;

        if (message.messageType == MessageType.Input)
        {
            var x = bitBuffer.GetInt(0, 360);
            var y = bitBuffer.GetInt(0, 360);
            var z = bitBuffer.GetInt(0, 360);

            var h = bitBuffer.GetInt(-1, 1);
            var v = bitBuffer.GetInt(-1, 1);

            var shoot = bitBuffer.GetBit();

            _players[id].playerMovement.Rotation(x, y, z);
            _players[id].playerMovement.Move(h, v);
            if (shoot)
            {
                _players[id].playerShooting.Shoot();
                _players[id].isShooting = true;
            }
        }

        if (_players[id].lastInputSequence < message.sequence)
        {
            _players[id].lastInputSequence = message.sequence;
        }
    }