private void SetUpPhases() { drawPhase = new DrawPhase(players); actionPhase = new ActionPhase(players); encounterPhase = new EncounterPhase(players); actionPhase2 = new ActionPhase(players); cleanUpPhase = new CleanUpPhase(players); drawPhase.NextPhase = actionPhase; actionPhase.NextPhase = encounterPhase; encounterPhase.NextPhase = actionPhase2; actionPhase2.NextPhase = cleanUpPhase; cleanUpPhase.NextPhase = drawPhase; actionPhase.PhaseNumber = 1; actionPhase2.PhaseNumber = 2; }
IEnumerator TurnAdvanceRoutine() { phase++; phase = phase >= EncounterPhase.Count ? 0 : phase; PartyDetails forWhomTheTurnTolls = parties[(int)phase]; yield return(msgManager.AnimateText(forWhomTheTurnTolls.partyName + "'s turn!")); yield return(new WaitForSeconds(1)); if ((int)phase == 1) { forWhomTheTurnTolls.TakeTurn(parties[0]); } else { for (int i = 0; i < optionPanel.transform.childCount; i++) { optionPanel.transform.GetChild(i).gameObject.GetComponent <Button>().interactable = true; } } }