Trigger Animation after Wait For Seconds

Hi I’m trying to trigger an Animation using a Collider. I have an IEnumerator setup so that it happens a couple seconds after the collision takes place.

Problem is that when I place the animation code BEFORE the “yield return new WaitForSeconds”, it works fine, but AFTER, for some reason it doesn’t work.

See at the bottom below for the LeftYellowSideWall code. That is the Animation. And the WaitForSeconds is a couple lines above it.

                                                                                           IEnumerator OnCollisionEnter2D (Collision2D Ball8Layer5Collider)
{
	if (Ball8Layer5Collider.gameObject.tag == "ball" && BallIsGreen == false) 
	{
		FakeBalls.SetActive (false);
		RevealedBalls.SetActive (false);

		//NorthWall.SetActive (true);

		rend.sharedMaterial = greenBall [1];

		audio.PlayOneShot (LockedAudio, volume);

		LockedSoundPlayed = true;

		BallIsGreen = true;
	}

	if (Ball8Layer5Collider.gameObject.tag == "ball" && LockedSoundPlayed == true) 
	{
		audio.PlayOneShot (GreenBallHitSound, volumeGreenBallHit);
	}

	if (Ball8Layer5Collider.gameObject.tag == "ball" && Ball15.GetComponent<Ball15Layer4GreenCollide>().BallIsGone == true) 
	{
		BG_Owl.GetComponent<SpriteRenderer> ().enabled = false;

		transBand.GetComponent<VideoPlayer> ().enabled = true;

		audio.PlayOneShot (BGClankReverbSound, volumeBGClankReverb);
		//Ball8.SetActive (false);
		LeftYellowSideWall.GetComponent<LeftYellowWall> ().ColorChangeRed5();
		RightYellowSideWall.GetComponent<RightYellowWall> ().ColorChangeRed5 ();

		this.GetComponent<MeshRenderer>().enabled = false;
		this.GetComponent<CircleCollider2D> ().enabled = false;
		BallIsGreen = false;
		BallIsGone = true;

		MinusCounterFloor.GetComponent<BoxCollider2D> ().enabled = true;

		CountTrigger.GetComponent<BoxCollider2D> ().enabled = true;

		numberText.GetComponent<Text> ().color = new Color (0.035f, 0f, 1f, 1f);

		yield return new WaitForSeconds (2);

		GreenBalls.SetActive (false);

		LeftYellowSideWall.GetComponent<LeftYellowWall> ().LeftYellowWallAnim.Play ("Left Yellow Side Wall MOVE BACK", -1, 0f);

	}
}

OnCollisionEnter2D is not a coroutine

Make a separate Coroutine function and then call it

void OnCollisionEnter2D (Collision2D Ball8Layer5Collider)
 {
    StartCoroutine(CoroutineName(Ball8Layer5Collider));
 }

IEnumerator CoroutineName (Collision2D Ball8Layer5Collider)
{
 if (Ball8Layer5Collider.gameObject.tag == "ball" && BallIsGreen == false) 
     {
         FakeBalls.SetActive (false);
         RevealedBalls.SetActive (false);
         //NorthWall.SetActive (true);
         rend.sharedMaterial = greenBall [1];
         audio.PlayOneShot (LockedAudio, volume);
         LockedSoundPlayed = true;
         BallIsGreen = true;
     }
     if (Ball8Layer5Collider.gameObject.tag == "ball" && LockedSoundPlayed == true) 
     {
         audio.PlayOneShot (GreenBallHitSound, volumeGreenBallHit);
     }
     if (Ball8Layer5Collider.gameObject.tag == "ball" && Ball15.GetComponent<Ball15Layer4GreenCollide>().BallIsGone == true) 
     {
         BG_Owl.GetComponent<SpriteRenderer> ().enabled = false;
         transBand.GetComponent<VideoPlayer> ().enabled = true;
         audio.PlayOneShot (BGClankReverbSound, volumeBGClankReverb);
         //Ball8.SetActive (false);
         LeftYellowSideWall.GetComponent<LeftYellowWall> ().ColorChangeRed5();
         RightYellowSideWall.GetComponent<RightYellowWall> ().ColorChangeRed5 ();
         this.GetComponent<MeshRenderer>().enabled = false;
         this.GetComponent<CircleCollider2D> ().enabled = false;
         BallIsGreen = false;
         BallIsGone = true;
         MinusCounterFloor.GetComponent<BoxCollider2D> ().enabled = true;
         CountTrigger.GetComponent<BoxCollider2D> ().enabled = true;
         numberText.GetComponent<Text> ().color = new Color (0.035f, 0f, 1f, 1f);
         yield return new WaitForSeconds (2);
         GreenBalls.SetActive (false);
         LeftYellowSideWall.GetComponent<LeftYellowWall> ().LeftYellowWallAnim.Play ("Left Yellow Side Wall MOVE BACK", -1, 0f);
     }
}

Something like that