Example #1
0
 private IEnumerator RefillWithInternal(CardHolder otherHolder, int numCardsToLeave, Action onFinished)
 {
     if (numCardsToLeave < otherHolder.ReadOnlyCards.Count)
     {
         var deckRefillTweenWaiter = new FinishableGroupWaiter(onFinished);
         while (otherHolder.ReadOnlyCards.Count > numCardsToLeave)
         {
             TweenHolder refillTween;
             otherHolder.MoveCard(0, this, out refillTween, true);
             deckRefillTweenWaiter.AddFinishable(refillTween);
             refillTween.SetDuration(_CardAnimationData.DeckFillDurationPerCard);
             yield return(new WaitForSeconds(_CardAnimationData.DeckRefillDelayPerCard));
         }
         deckRefillTweenWaiter.Ready = true;
     }
     else
     {
         onFinished();
     }
 }
 public override void Undo()
 {
     _cardHolderToDealTo.MoveCard(_cardHolderToDealTo.ReadOnlyCards.LastIndex(), _deckToDealFrom, out _outTween, _visibleDuringTween);
 }
 public override void Undo()
 {
     _toHolder.MoveCard(_toIndex, _fromHolder, out _outTween, _visibleDuringTween, _fromIndex);
 }