NumBlackHexes() public method

public NumBlackHexes ( ) : int
return int
Example #1
0
    IEnumerator NextLevel()
    {
        disabled = true;

        while (GridBusy())
        {
            yield return(new WaitForEndOfFrame());
        }

        //Calculate bonus points
        int scorePer = level * 200;

        score += moves.Remaining() * scorePer;

        //How many (if any) white hexes should be revived
        int revived = moves.Remaining();

        //Calculate how many white hexes to add
        int leftover = scoreBar.NumBlackHexes();

        //Setup next level
        moves.ResetMoves(scorePer);
        level++;
        startScore  = score;
        targetScore = score + level * 5000;

        UpdateUI(leftover != 0);

        bool gameover = false;

        if (revived != 0)
        {
            int target = deadPointer - revived;
            for (; deadPointer > target && deadPointer > 0; deadPointer--)
            {
                GridPlace newRevived = gridPlaces[deadPointer - 1];
                newRevived.hexaCube.Spawn();
                earnedback++;

                yield return(new WaitForSeconds(0.07f));
            }

            if (earnedback >= 20)
            {
                SocialManager.Instance.UnlockAchievement("phoenix down");
            }
        }

        else if (leftover != 0)
        {
            int target = deadPointer + leftover;
            for (; deadPointer < target && deadPointer < gridPlaces.Length; deadPointer++)
            {
                GridPlace newWhite = gridPlaces[deadPointer];
                newWhite.hexaCube.Despawn();
                yield return(new WaitForSeconds(0.07f));
            }
        }

        if (deadPointer > 23)
        {
            roundsdown++;

            if (roundsdown > 5)
            {
                SocialManager.Instance.UnlockAchievement("event horizon");
            }
        }
        else
        {
            roundsdown = 0;
        }

        //Only a single gridplace alive
        if (deadPointer == gridPlaces.Length - 1)
        {
            SocialManager.Instance.UnlockAchievement("last man standing");
        }

        if (deadPointer > gridPlaces.Length - 1)
        {
            gameover = true;
        }

        yield return(new WaitForSeconds(.7f));

        disabled = false;

        if (gameover)
        {
            GameOver();
        }
    }