private IEnumerator DrawCardUntilNotAttack() { CardInstance drawCardInst = null; while (true) { if (!BattleTool.IsDeckHasCard()) //如果没卡了 { if (!BattleTool.IsUsedHasCard()) { yield break; } float shuffleTime = BattleTool.ShuffleDeckFromUsed(); yield return(new WaitForSeconds(shuffleTime)); } if (BattleTool.IsHandCardFull())// 如果手牌满了 { yield break; } drawCardInst = _battleModel.DrawOneCard(false); if (null == drawCardInst || drawCardInst.cardType != CardType.ATTACK) { yield break; } yield return(new WaitForSeconds(0.2f)); } }
//抽多张牌 private IEnumerator DrawCard(int drawNum, bool bRoundStartDraw) { for (int i = 0; i < drawNum; i++) { if (!BattleTool.IsDeckHasCard()) //如果没卡了 { if (!BattleTool.IsUsedHasCard()) { yield break; } float shuffleTime = BattleTool.ShuffleDeckFromUsed(); yield return(new WaitForSeconds(shuffleTime)); } _battleModel.DrawOneCard(bRoundStartDraw); yield return(new WaitForSeconds(0.2f)); } }