Beispiel #1
0
        private bool IsWinningLine(LineDefinition lineDefinition)
        {
            Move   firstMove  = lineDefinition.GetMove(0);
            eState firstState = _tileStates[firstMove._column, firstMove._row];

            if (firstState == eState.empty)
            {
                return(false);
            }

            for (int tileCount = 1; tileCount < 3; ++tileCount)
            {
                Move move = lineDefinition.GetMove(tileCount);

                if (_tileStates[move._column, move._row] != firstState)
                {
                    return(false);
                }
            }
            return(true);
        }
Beispiel #2
0
    public IEnumerator FlashWinningTiles(LineDefinition winningLine, PostFlashRoutine postFlashRoutine)
    {
        for(int flashCount = 0; flashCount < 6; ++flashCount)
        {
            yield return new WaitForSeconds(0.15f);
            bool flashOn = flashCount%2 == 0;

            for(int tileCount = 0; tileCount < 3; ++tileCount)
            {
                Move tilePosition = winningLine.GetMove(tileCount);
                TileDisplay tileDisplay = GetTileDisplay(tilePosition);
                tileDisplay.SetWinningFlashMaterial(flashOn);
            }
        }
        postFlashRoutine();
    }
Beispiel #3
0
    public IEnumerator FlashWinningTiles(LineDefinition winningLine, PostFlashRoutine postFlashRoutine)
    {
        for (int flashCount = 0; flashCount < 6; ++flashCount)
        {
            yield return(new WaitForSeconds(0.15f));

            bool flashOn = flashCount % 2 == 0;

            for (int tileCount = 0; tileCount < 3; ++tileCount)
            {
                Move        tilePosition = winningLine.GetMove(tileCount);
                TileDisplay tileDisplay  = GetTileDisplay(tilePosition);
                tileDisplay.SetWinningFlashMaterial(flashOn);
            }
        }
        postFlashRoutine();
    }
Beispiel #4
0
        private bool IsWinningLine(LineDefinition lineDefinition)
        {
            Move firstMove = lineDefinition.GetMove(0);
            eState firstState = _tileStates[firstMove._column, firstMove._row];

            if(firstState == eState.empty)
            {
                return false;
            }

            for(int tileCount = 1; tileCount < 3; ++tileCount)
            {
                Move move = lineDefinition.GetMove(tileCount);

                if(_tileStates[move._column, move._row] != firstState)
                {
                    return false;
                }
            }
            return true;
        }