public void AdvanceFromPlayerPlanning() { // Advance state if all players finish planning their turns // Otherwise bool playerNotPlanned = false; foreach (var player in players) { PlanBuilderComponent plan = player.Player.GetComponent <PlanBuilderComponent>(); if (!plan.Plan.FinishedPlanning) { playerNotPlanned = true; // Set next active player PrioritizeActivePlayer(player); PrioritizeCamera(player); break; } } // Advance state if everyone finished planning their plans if (!playerNotPlanned) { SwapCamera(); DisableAllPlayers(); this.boss.GetComponent <BossPlanBuilderComponent>().HideAttackZone(); StartCoroutine(DelayedGoToState(BattleStates.PLAYER_ACTION)); } }
private void DisableAllPlayers() { foreach (PlayerParts person in this.players) { PlanBuilderComponent plan = person.Player.GetComponent <PlanBuilderComponent>(); plan.DisableAsPlanningPlayer(); } }
private void PrioritizeActivePlayer(PlayerParts player) { foreach (PlayerParts person in this.players) { PlanBuilderComponent plan = person.Player.GetComponent <PlanBuilderComponent>(); if (person.Player == player.Player) { plan.EnableAsPlanningPlayer(); } else { plan.DisableAsPlanningPlayer(); } } }