Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        Vector3 lastPos = transform.position;

        if (dragging)
        {
            dragTime += Time.deltaTime;

            Vector3 mousePos = Input.mousePosition;
            mousePos.z = -Camera.main.transform.position.z + height;
            mousePos   = Camera.main.ScreenToWorldPoint(mousePos);

            transform.position = new Vector3(mousePos.x, mousePos.y, height) + dragPoint;

            if (LeftArea(1f) && currentHolder)
            {
                currentHolder.RemoveCard(this);
            }
        }
        else
        {
            transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(Vector3.zero), 1f);
        }

        if (moveDuration >= 0f && moveDuration <= 1f)
        {
            moveDuration      += Time.deltaTime * moveSpeed;
            transform.position = Vector3.Lerp(fromPosition, toPosition, moveDuration);
        }

        Tilt(lastPos, transform.position);
        float offset = dragging ? 0.1f : 0f;

        shadow.position   = new Vector3(transform.position.x, transform.position.y, dragging ? -0.1f : 0f);
        shadow.localScale = dragging ? shadowScale * 1.1f : shadowScale;
    }