Ejemplo n.º 1
0
    public IEnumerator OrganizeHandAnim(HandAnimationSettings animSett, List <Card> paramHand)
    {
        RectTransform rectCard;
        float         x, y;

        x = 0;

        SetCardsPosition(animSett, paramHand);

        while (x <= 1)
        {
            x += (handAnimationSpeed * Time.deltaTime);
            y  = -x * x + 2 * x;

            foreach (Card card in paramHand)
            {
                rectCard = card.transform.parent as RectTransform;
                rectCard.anchoredPosition = Vector3.Lerp(card.startPosition, card.finalPosition, y);

                // ROTATE ONLY THE CARD AND NOT THE GRPAHIC_COLLIDER
                rectCard = card.transform as RectTransform;
                rectCard.transform.rotation = Quaternion.Lerp(card.startAngle, card.finalAngle, y);
            }
            yield return(null);
        }
    }
Ejemplo n.º 2
0
    void SetCardsPosition(HandAnimationSettings animSett, List <Card> paramHand)
    {
        RectTransform rectCard;
        float         xPos, yPos;
        float         widthIncreaseConst = animSett.HandXAxisWidth / (paramHand.Count - 1);
        float         concat             = -animSett.HandXAxisWidth;
        int           index = 0;


        foreach (Card card in paramHand)
        {
            card.posInHand = index;
            rectCard       = card.transform.parent as RectTransform;

            xPos = paramHand.Count != 1 ? (concat * animSett.WidthMultiplier) + animSett.OffSet.x : 0;
            yPos = (-Mathf.Abs(concat) / (animSett.Angulation * 15)) + animSett.OffSet.y;

            card.startPosition = rectCard.anchoredPosition;
            card.finalPosition = new Vector2(xPos, yPos);

            card.transform.parent.SetSiblingIndex(card.posInHand);

            //ROTATE ONLY THE IMAGE AND NOT THE GRAPHIC_COLLIDER
            rectCard = card.transform as RectTransform;

            card.startAngle = rectCard.transform.rotation;
            card.finalAngle = Quaternion.Euler(0, 0, paramHand.Count > 2 ?(-concat / animSett.HandXAxisWidth) * animSett.Angulation + animSett.ZAngleOffSet: animSett.ZAngleOffSet);

            concat += widthIncreaseConst * 2;
            index++;
        }
    }
Ejemplo n.º 3
0
    void Start()
    {
        playerHandAnimation  = new HandAnimationSettings(handOffset, ZangleOffSet, maxHandAngle, handWidthMultiplier, handXAxisWidth, true);
        showingHandAnimation = new HandAnimationSettings(showingHandOffset, ZangleOffSet, maxShowingAngle, showingHandWidthMultiplier, handXAxisWidth, true);

        if (isAdversaryPlayer)
        {
            CreateCard(); CreateCard(); CreateCard();
        }
        else
        {
            CreateCard(1); CreateCard(1); CreateCard(1);
        }
    }