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); }
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(); }
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(); }
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; }