//戦闘 IEnumerator CoBattle() { yield return(0); effectController.StartBattle(); this.remacthDialog.SetActive(false); InitPlayer(); InitEnemy(); isEndBattle = false; //ルーレット待機開始 roulette.Ready(); TryOpenAchievement(AchievementData.Type.FirstBattle); while (!isEndBattle) { //ルーレットが始まるまで待機 while (roulette.IsReady) { yield return(0); } //ルーレットが止まるまで待機 while (!roulette.IsReady) { yield return(0); } //攻撃を実行 Attack(roulette.SlotID); if (!isEndBattle) { //戦闘が次に進むのでライフを減らす playerData.CurrentLife = playerData.CurrentLife - 1; playerLifeGauge.SetLife(playerData.CurrentLife); if (playerData.CurrentLife <= 0) { //HP0になったので終了 isEndBattle = true; } } } //戦闘が終わったので、結果表示をする if (enemyData.IsDead) { //勝った場合 effectController.GameWin(); TryOpenDefactAchievement(enemyData.type); yield return(new WaitForSeconds(4.0f)); //相手がラスボスだった場合 if (IsGameComplete(enemyData)) { Ending(); } else { Back(); } } else { //負けた場合 effectController.GameLose(); TryOpenAchievement(AchievementData.Type.GameOver); yield return(new WaitForSeconds(1.0f)); //再戦を促すダイアログを表示 this.remacthDialog.SetActive(true); } }