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