Example #1
0
    private void onMovement(NetIncomingMessage msg)
    {
        LidgrenPlayer      lidgrenPlayer      = (LidgrenPlayer)msg.SenderConnection.Tag;
        NetOutgoingMessage netOutgoingMessage = msg.SenderConnection.Peer.CreateMessage();

        netOutgoingMessage.Write(msg);
        server.SendToAll(netOutgoingMessage, msg.SenderConnection, NetDeliveryMethod.ReliableOrdered, 1);
        msg.ReadInt32();
        lidgrenPlayer.GameObject.GetComponent <PlayerAnimator>().OnPlayerMovement(msg.ReadByte());
    }
Example #2
0
    private void onRequestSpawn(NetIncomingMessage msg)
    {
        LidgrenPlayer lidgrenPlayer = (LidgrenPlayer)msg.SenderConnection.Tag;

        if (lidgrenPlayer.GameObject == null)
        {
            lidgrenPlayer.GameObject = LidgrenGameObject.Spawn(-1, lidgrenPlayer.Id, msg.SenderConnection);
            foreach (NetConnection connection in server.Connections)
            {
                spawnOn(lidgrenPlayer.GameObject, connection);
            }
        }
    }
Example #3
0
    private void onDisconnected(NetIncomingMessage a_msg)
    {
        LidgrenPlayer      lidgrenPlayer      = (LidgrenPlayer)a_msg.SenderConnection.Tag;
        NetOutgoingMessage netOutgoingMessage = server.CreateMessage();

        netOutgoingMessage.Write(LidgrenMessageHeaders.Despawn);
        netOutgoingMessage.Write(lidgrenPlayer.Id);
        server.SendToAll(netOutgoingMessage, NetDeliveryMethod.ReliableOrdered);
        if (lidgrenPlayer.GameObject != null)
        {
            Object.Destroy(lidgrenPlayer.GameObject);
        }
        Debug.Log("Client disconnected");
    }
Example #4
0
    private void onPosition(NetIncomingMessage msg)
    {
        LidgrenPlayer      lidgrenPlayer      = (LidgrenPlayer)msg.SenderConnection.Tag;
        NetOutgoingMessage netOutgoingMessage = msg.SenderConnection.Peer.CreateMessage();

        netOutgoingMessage.Write(msg);
        server.SendToAll(netOutgoingMessage, msg.SenderConnection, NetDeliveryMethod.Unreliable, 0);
        msg.ReadInt32();
        Vector3 position = new Vector3(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat());

        lidgrenPlayer.GameObject.transform.position = position;
        Quaternion rotation = new Quaternion(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat());

        lidgrenPlayer.GameObject.transform.GetChild(0).rotation = rotation;
    }
Example #5
0
    void onMovement(NetIncomingMessage msg)
    {
        LidgrenPlayer player = (LidgrenPlayer)msg.SenderConnection.Tag;

        // Forward message to all other players
        NetOutgoingMessage forward = msg.SenderConnection.Peer.CreateMessage();

        forward.Write(msg);

        server.SendToAll(forward, msg.SenderConnection, NetDeliveryMethod.ReliableOrdered, 1);

        // Throw away Id on server, we dont need it
        msg.ReadInt32();

        // Read movement animation on server also
        player.GameObject.GetComponent <PlayerAnimator>().OnPlayerMovement(msg.ReadByte());
    }
Example #6
0
    void onDisconnected(NetConnection c)
    {
        LidgrenPlayer player = (LidgrenPlayer)c.Tag;

        NetOutgoingMessage msg = server.CreateMessage();

        msg.Write(LidgrenMessageHeaders.Despawn);
        msg.Write(player.Id);

        server.SendToAll(msg, NetDeliveryMethod.ReliableOrdered);

        if (player.GameObject != null)
        {
            GameObject.Destroy(player.GameObject);
        }

        Debug.Log("Client disconnected");
    }
Example #7
0
    void onPosition(NetIncomingMessage msg)
    {
        LidgrenPlayer player = (LidgrenPlayer)msg.SenderConnection.Tag;

        // Forward message to all other players
        NetOutgoingMessage forward = msg.SenderConnection.Peer.CreateMessage();

        forward.Write(msg);

        server.SendToAll(forward, msg.SenderConnection, NetDeliveryMethod.Unreliable, 0);

        // Throw away Id on server, we dont need it
        msg.ReadInt32();

        // Update position
        Vector3 pos = new Vector3(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat());

        player.GameObject.transform.position = pos;

        // Update rotation
        Quaternion rot = new Quaternion(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat());

        player.GameObject.transform.GetChild(0).rotation = rot;
    }