/// <summary> /// ターン処理 /// </summary> public IEnumerator Turn() { // 自分の場にカードが出ている場合、エラーを出す if (fieldCardObj["player"]) { Debug.LogError("自分の場にカードが存在します。"); yield break; } // [player]カードをドロー yield return(DrawCard("player")); // プレイヤーが負けるまでバトルを続ける while (fieldCardObj["player"]) { // [enemy]場にカードがなければカードをドロー if (!fieldCardObj["enemy"] && uIController.getDeckNum("enemy") != 0) { yield return(DrawCard("enemy")); } // カードの情報を変数に設定 CardController playerCard = fieldCardObj["player"].GetComponent <CardController>(); CardController enemyCard = fieldCardObj["enemy"].GetComponent <CardController>(); // 場に出たとき効果を持っていれば発動する yield return(playerCard.AppearanceEffect()); yield return(enemyCard.AppearanceEffect()); // バトルフェーズ yield return(BattlePhase()); // 勝敗確認 if (CheckResult() != 0) { yield break; } } // ドローパネルを有効にする uIController.SwitchDrawFlag(true); }