Пример #1
0
    public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
    {
        int packetID = reader.GetInt();

        switch (packetID)
        {
        case 2:
            Packet02CreateWorldObject worldPacket = new Packet02CreateWorldObject();
            worldPacket.Deserialize(reader);
            worldPacket.ExecuteClientSide();
            break;

        case 3:
            Packet03CreatePlayer createPlayer = new Packet03CreatePlayer();
            createPlayer.Deserialize(reader);
            createPlayer.ExecuteClientSide();
            break;

        case 4:
            Packet04PlayerMove playerMove = new Packet04PlayerMove();
            playerMove.Deserialize(reader);
            playerMove.ExecuteClientSide();
            break;
        }
    }
Пример #2
0
    public void MovePlayer(Packet04PlayerMove packet)
    {
        Player player = clientPlayers[packet.guid];

        player.MovePlayer(packet.position, packet.eulerAngles);

        //player.transform.position = packet.position;
        //player.transform.eulerAngles = packet.eulerAngles;
    }
Пример #3
0
    private IEnumerator SendMovement_Coroutine()
    {
        while (true)
        {
            Packet04PlayerMove playerMove = new Packet04PlayerMove(player.guid, transform.position, transform.eulerAngles);
            playerMove.Serialize(writer);
            Client.Instance.SendDataToServer(writer, DeliveryMethod.Unreliable);

            yield return(new WaitForSeconds(0.1f));
        }
    }
Пример #4
0
    public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
    {
        int packetID = reader.GetInt();

        switch (packetID)
        {
        case 0:
            Packet00Connect connect = new Packet00Connect(reader);
            Debug.Log(connect.username + " | " + connect.password);
            break;

        case 4:
            Packet04PlayerMove playerMove = new Packet04PlayerMove();
            playerMove.Deserialize(reader);
            playerMove.ExecuteServerSide(peer, dataWriter);
            break;
        }
    }
Пример #5
0
    public void MovePlayer(Packet04PlayerMove packet, NetPeer thisPeer, NetDataWriter writer)
    {
        Player player = clientPlayers[packet.guid];

        player.transform.position    = packet.position;
        player.transform.eulerAngles = packet.eulerAngles;

        // Send this player's movement to all connected clients
        foreach (NetPeer peer in Server.Instance.connectedPeers)
        {
            if (peer != thisPeer)
            {
                Packet04PlayerMove playerMove = packet;
                playerMove.Serialize(writer);
                peer.Send(writer, DeliveryMethod.Unreliable);
            }
        }
    }