IEnumerator coPoof(float delay)
        {
            yield return(new WaitForSeconds(delay));

            if (!this)
            {
                yield break;
            }

            game.Poof(transform);

            if (game.roundsCount == 0 && !isInVase)
            {
                if (isCorrect)
                {
                    resetCorrectDD();
                }
                else
                {
                    resetWrongDD();
                }

                game.onWrongMove(isCorrect);
                game.tut.doTutorial();
                yield break;
            }

            if (!isInVase)
            {
                game.onWrongMove(isCorrect);
            }

            if (isCorrect)
            {
                resetCorrectDD();
                StartCoroutine(game.scale.onDroppingCorrectDD());
            }
            else
            {
                if (!deattached)
                {
                    deattached = true;
                    game.checkForNextRound();
                }

                Destroy(gameObject, 0.0f);
            }
        }