You're destroying the object which starts the coroutine, stopping it from running after the wait
Change this line (both times):
StartCoroutine(PONG.Goal(1));
to
PONG.StartCoroutine(PONG.Goal(1));
So that the coroutine is run on the same object it's interested in
Edit, to make it more obvious why:
When you start a coroutine, the monobehaviour it's run from is "attached" to it in a way that when the monobehaviour is disabled or destroyed, the coroutine will stop running
↧