public override IEnumerator RunTurnRoutine() { if (skipTurn) { statusEffects.DisableStasis(); skipTurn = false; yield break; } if (GetIsProtected()) { animator.SetBool("IsProtected", false); } if (FindObjectOfType <BlockingCrystal>()) { BlockingCrystal blockingCrystal = FindObjectOfType <BlockingCrystal>().GetComponent <BlockingCrystal>(); yield return(StartCoroutine(blockingCrystal.Break())); } yield return(StartCoroutine(Attack())); yield return(new WaitUntil(() => DoneActions())); QueueAttack(); }
IEnumerator CrystalBlock() { List <Tile> validTiles = boardManager.GetSummonableTiles(); int randomIndex = Random.Range(0, validTiles.Count); Tile tileToBlock = validTiles[randomIndex]; instance = Instantiate(crystal, tileToBlock.transform); BlockingCrystal blockingCrystal = instance.GetComponent <BlockingCrystal>(); yield return(new WaitUntil(() => !blockingCrystal.GetIsSpawning())); }