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); } }
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++; } }
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); } }