Esempio n. 1
0
    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()));
    }