Ejemplo n.º 1
0
    private void OnAskPosition(Net_AskPosition msg)
    {
        if (!isStarted)
        {
            return;
        }

        // Update everyone else
        for (int i = 0; i < msg.playerPositions.Length; ++i)
        {
            if (ourClientID == msg.playerPositions[i].cnnID)
            {
                continue;
            }

            Vector3 pos = new Vector3(msg.playerPositions[i].x, msg.playerPositions[i].y, msg.playerPositions[i].z);
            Player  p   = players.Find(x => x.connectionID == msg.playerPositions[i].cnnID);

            Vector3 dir = new Vector3(msg.playerPositions[i].dirX, 0, msg.playerPositions[i].dirZ);

            //Debug.Log("Current ID: " + msg.playerPositions[i].cnnID);

            if (msg.playerPositions[i].cnnID == 0)
            {
                continue;
            }

            p.oldPosition = p.newPosition;
            p.avatar.transform.position = p.newPosition;
            p.newPosition = pos;
            p.dir         = dir;

            p.isMoving         = msg.playerPositions[i].isMoving;
            updatePositionTime = 0.1f;
        }

        // Send our position
        Vector3 myPos = ownPlayer.avatar.transform.position;

        Vector3 movement = ownPlayer.avatar.GetComponent <PlayerController>().movement;

        Net_MyPosition myPosition = new Net_MyPosition
        {
            ownID = ourClientID, x = myPos.x, y = myPos.y, z = myPos.z, dirX = movement.x, dirZ = movement.z, isMoving = true
        };

        if (movement == Vector3.zero)
        {
            myPosition.isMoving = false;
        }

        // Debug.Log(movement);

        SendServer(myPosition);
    }
Ejemplo n.º 2
0
    private void OnMyPosition(Net_MyPosition msg)
    {
        ServerClient client = clients.Find(c => c.connectionID == msg.ownID);

        // Debug.Log(client.connectionID);
        //Debug.Log(msg.ownID);
        client.position = new Vector3(msg.x, msg.y, msg.z);
        client.dirX     = msg.dirX;
        client.dirZ     = msg.dirZ;
        client.isMoving = msg.isMoving;
    }