public static void Update() { if (screenManager.IsTransitioning()) { screenManager.Update(gameScene); // Transition Finished, load relevant data if (!screenManager.IsTransitioning()) { if (screenManager.GetScreen() == Screens.Game) { SetupGame(); soundManager.PlayBGM(); } else if (screenManager.GetScreen() == Screens.GameOver) { gameScene.Camera2D.SetViewY(new Vector2(0.0f, Director.Instance.GL.Context.GetViewport().Height *0.5f), new Vector2((Director.Instance.GL.Context.GetViewport().Width *0.5f), Director.Instance.GL.Context.GetViewport().Height *0.5f)); } } } else { UpdateTouchData(); switch (screenManager.GetScreen()) { case Screens.Splash: screenManager.ChangeScreenTo(Screens.Menu); break; case Screens.Game: if (!tutorialManager.HasPopUp()) { GameUpdate(); } else { UpdateTouchData(); } break; case Screens.GameOver: Vector2 touchPos = Input2.Touch00.Pos; if (touchPos.X >= 0) { touchPos = new Vector2((touchPos.X * 450) + 450, (touchPos.Y * 272) + 272); } else { touchPos = new Vector2(((touchPos.X + 1) * 450), ((touchPos.Y + 1) * 272)); } Bounds2 touchBox = new Bounds2(touchPos, touchPos); if (touchBox.Overlaps(rSprite.GetlContentLocalBounds())) { screenManager.ChangeScreenTo(Screens.Menu); gameScene.RemoveChild(rSprite, false); } break; } } }