Esempio n. 1
0
    void CreateOtherPlayer(ServerOtherPlayerMsg serverOtherPlayerCreateMsg)
    {
        int playerID     = serverOtherPlayerCreateMsg.playerID;
        int playerHealth = serverOtherPlayerCreateMsg.playerHealth;

        Vector3 otherPlayerPosition = new Vector3
        {
            x = serverOtherPlayerCreateMsg.location.x,
            y = serverOtherPlayerCreateMsg.location.y,
            z = serverOtherPlayerCreateMsg.location.z
        };

        Quaternion otherPlayerRotation = Quaternion.Euler(
            serverOtherPlayerCreateMsg.rotation.x,
            serverOtherPlayerCreateMsg.rotation.y,
            serverOtherPlayerCreateMsg.rotation.z
            );


        GameObject newOtherPlayer = null;

        newOtherPlayer = Instantiate(OtherPlayer, otherPlayerPosition, otherPlayerRotation);

        OtherPlayerControl otherPlayerControl = newOtherPlayer.GetComponent <OtherPlayerControl>();

        otherPlayerControl.otherPlayerID     = playerID;
        otherPlayerControl.otherPlayerHealth = playerHealth;

        AddServerGameObjects(GameSettings.OTHER_PLAYER_TYPE, playerID, newOtherPlayer);
    }
Esempio n. 2
0
    void SyncOtherPlayer(ServerOtherPlayerMsg serverSyncOtherPlayerMsg)
    {
        int entityID     = serverSyncOtherPlayerMsg.playerID;
        int playerHealth = serverSyncOtherPlayerMsg.playerHealth;

        Vector3 otherPlayerPosition = new Vector3
        {
            x = serverSyncOtherPlayerMsg.location.x,
            y = serverSyncOtherPlayerMsg.location.y,
            z = serverSyncOtherPlayerMsg.location.z
        };

        Quaternion otherPlayerRotation = Quaternion.Euler(
            serverSyncOtherPlayerMsg.rotation.x,
            serverSyncOtherPlayerMsg.rotation.y,
            serverSyncOtherPlayerMsg.rotation.z
            );

        GameObject targetPlayer = FindOtherPlayerWithID(entityID);

        if (targetPlayer != null)
        {
            OtherPlayerControl otherPlayerControl = targetPlayer.GetComponent <OtherPlayerControl>();

            otherPlayerControl.SetWalking(Location.IsDifference(targetPlayer.transform.position, otherPlayerPosition));

            //targetPlayer.transform.position = otherPlayerPosition;
            targetPlayer.transform.rotation = otherPlayerRotation;

            UpdateServerGameObjectsMovement(
                GameSettings.OTHER_PLAYER_TYPE,
                entityID,
                otherPlayerPosition - targetPlayer.transform.position
                );

            if (playerHealth < otherPlayerControl.otherPlayerHealth)
            {
                otherPlayerControl.otherPlayerHurtAduio.Play();
                otherPlayerControl.otherPlayerHealth = playerHealth;
            }
        }
    }