IEnumerator ClearAndRefillBoardRoutine(List<GamePiece> gamePieces){
m_playerInputEnabled = false;
List<GamePiece> matches = gamePieces;
do {
yield return StartCoroutine(ClearAndCollapseRoutine(matches));
yield return null;
yield return StartCoroutine(RefillRoutine());
matches = FindAllMatches();
yield return new WaitForSeconds(0.5f);
}
while (matches.Count != 0);
m_playerInputEnabled = true;
}