IEnumerator TomatoScript() { Stu.Singleton.ToggleThrowing(false); if (cucumber == null) { cucumber = Spawn(cucumberPrefab, leftPoolSeat); } if (kidATomato == null) { kidATomato = Spawn(cherryTomatoPrefab, gateEntrace); } StartCoroutine(kidATomato.WalkTo(rightPoolEntrance)); if (kidBTomato == null) { kidBTomato = Spawn(cherryTomatoPrefab, gateEntrace); } yield return(Dialogue.Create(kidATomato, "CANNONBALL!")); StartCoroutine(kidATomato.JumpTo(rightPoolSeat)); StartCoroutine(kidBTomato.WalkTo(rightPoolEntrance)); kidBTomato.Face.LookAt(kidATomato); yield return(Dialogue.Create(kidBTomato, "YOU HAVE TO WAIT FOR MOM!")); if (momTomato == null) { momTomato = Spawn(tomatoPrefab, gateEntrace); } kidBTomato.Face.LookAt(momTomato); StartCoroutine(momTomato.WalkTo(middlePoolEntrance)); yield return(Dialogue.Create(momTomato, "Bobby, there are other people in the hottub")); yield return(Dialogue.Create(cucumber, "It's fine. Hop on in")); StartCoroutine(momTomato.JumpTo(middlePoolSeat)); kidBTomato.Face.StopLooking(); yield return(kidBTomato.JumpTo(farRightPoolSeat)); yield return(Dialogue.Create(kidBTomato, "Ahhh HOT!")); StartCoroutine(Dialogue.Create(kidATomato, "It's a hot tub dummy!")); yield return(kidBTomato.TurnTo(farRightPoolSeat.rotation, true)); yield return(kidBTomato.JumpTo(rightPoolEntrance, true)); yield return(kidBTomato.TurnTo(rightPoolEntrance.rotation, false)); yield return(Dialogue.Create(momTomato, "It feels so good. Oh my!")); StartCoroutine(momTomato.Expand(60f, new List <int>() { 0, 1 })); yield return(Dialogue.Create(cucumber, "We're swelling again. Stu, can you help?")); Stu.Singleton.ToggleThrowing(true); StartCoroutine(cucumber.Expand(60f, new List <int>() { 0, 1 })); yield return(Dialogue.Create(kidATomato, "Mom looks like an elephant!")); yield return(Dialogue.Create(kidBTomato, "Whoah, Mom is bigger than Jupiter!")); yield return(new WaitForSeconds(1f)); yield return(Dialogue.Create(momTomato, "Children! Don't be rude")); yield return(momTomato.WaitTillShrunk()); yield return(cucumber.WaitTillShrunk()); yield return(Dialogue.Create(momTomato, "Thank you so much")); Stu.Singleton.ToggleThrowing(false); yield return(Dialogue.Create(momTomato, "I think that's enough for us")); StartCoroutine(kidBTomato.WalkTo(gateEntrace)); momTomato.Face.LookAt(kidATomato); yield return(Dialogue.Create(momTomato, "You two need to stop acting like that potato")); GameObject.Destroy(kidBTomato.gameObject); momTomato.Face.StopLooking(); StartCoroutine(kidATomato.JumpTo(rightPoolEntrance)); yield return(momTomato.JumpTo(middlePoolEntrance)); StartCoroutine(kidATomato.WalkTo(gateEntrace)); yield return(momTomato.JumpTo(middlePoolEntrance)); yield return(momTomato.WalkTo(gateEntrace)); GameObject.Destroy(momTomato.gameObject); GameObject.Destroy(kidATomato.gameObject); }