/// <summary> /// Stacks cards sequentially and fans them out /// </summary> protected void OrganizeHand() { AnimationHandler.AddAnimation(); TimeMoving = SecondsToMove; Animating = true; foreach (CardUi card in Cards) { PreviousScale[card] = card.scale.X; } if (Cards.Count <= MaxHandSizeBeforeOverlap) { for (int i = 0; i < Cards.Count; i++) { CardUi cardEntity = Cards[i]; MoveToPositionInHand(cardEntity, i, CardUi.CardWidth); } } else { float distanceBetweenCards = (HandWidth - CardUi.CardWidth) / (Cards.Count - 1); for (int i = 0; i < Cards.Count; i++) { CardUi cardEntity = Cards[i]; cardEntity.getComponent <Sprite>().layerDepth = 1 - (i * layerDepthIncriment); MoveToPositionInHand(cardEntity, i, distanceBetweenCards); } } }
/// <summary> /// Stacks cards sequentially and fans them out /// </summary> protected void OrganizeHand() { AnimationHandler.AddAnimation(); TimeMoving = SecondsToMove; Animating = true; List <CardUi>[] CardRows = new List <CardUi>[] { FrontRowCards, BackRowCards }; for (int i = 0; i < 2; i++) { if (CardRows[i].Count > MaxCardsBeforeOverlap) { TargetScale[i] = (InPlayWidth / CardRows[i].Count) / (CardUi.CardWidth + SpaceBetweenCards); } for (int j = 0; j < CardRows[i].Count; j++) { CardUi cardEntity = CardRows[i][j]; PreviousScale[i][cardEntity] = cardEntity.scale.X; MoveToPositionInPlay(cardEntity, j, i); } } }