Пример #1
0
    void Update()
    {
        Move();

        if (input.GetDashInput() && state.CanDash())
        {
            StartCoroutine(Dash());
        }

        if (input.GetPickUpInput())
        {
            if (state.Carrying)
            {
                PutDown();
            }
            else
            {
                PickUp();
            }
        }

        if (state.Carrying)
        {
            if (carriedPos.localPosition.x > 0.0f != facingRight)
            {
                carriedPos.localPosition = new Vector3(-carriedPos.localPosition.x, carriedPos.localPosition.y, carriedPos.localPosition.z);
                CarriedObjectShadow.transform.localPosition = new Vector3(-carriedPos.localPosition.x, CarriedObjectShadow.transform.localPosition.y, CarriedObjectShadow.transform.localPosition.z);
                placedPos.localPosition = new Vector3(-placedPos.localPosition.x, placedPos.localPosition.y, placedPos.localPosition.z);
            }
            else
            {
                CarriedObjectShadow.transform.localPosition = new Vector3(carriedPos.localPosition.x, CarriedObjectShadow.transform.localPosition.y, CarriedObjectShadow.transform.localPosition.z);
            }
            carriedObject.transform.position       = carriedPos.position;
            carriedObject.transform.rotation       = carriedPos.rotation;
            carriedObjectSortingGroup.sortingOrder = playerSortingGroup.sortingOrder + 1;
        }

        if (input.GetInteractInput())
        {
            Interact();
        }
    }