public IEnumerator WaitBeforeDestroy() { dropExplosionStatus = true; yield return(new WaitForSeconds(0.25f)); // Wait until player sees drops stand together. if (explosionsList.Count > 0) { Drop.listUpdateCount = 0; DestroyExplosionList(); // Destroys drops if explosions list is not empty. } else if (playerInput) // player input will be 'true' if only player call SwapDrops() function. And it will be 'false' while drops are falling. { // Sets drop old position and reset some variables if there are no explosions. TouchStartDrop.BackToOldPosition(); TouchEndDrop.BackToOldPosition(); Drop.listUpdateCount = 0; } dropExplosionStatus = false; }