public TitleScreen(GraphicsDeviceManager gdm, SaveGameData _gameData) { PersonalLoadContent(); int levelReach = _gameData.levelReached[_gameData.worldReached]; menuState = GameMenuState.MenuStateMain; nextState = GameMenuState.MenuStateMain; SetDrawFrame(position); SetDrawTexture(titleScreenTexture); gamePlay = new Button( new Rectangle( GraphicsDeviceManager.DefaultBackBufferWidth/2 - playButtonTexture.Width/2, GraphicsDeviceManager.DefaultBackBufferHeight/2 - playButtonTexture.Height/2, playButtonTexture.Width, playButtonTexture.Height), playButtonTexture); gamePlay.animatedBlink(15,-1); gameOption = new Button(new Rectangle(30, 380, 70, 70), gameOptionsTexture); back = new Button(new Rectangle(10, 60, 128, 64), backButtonTexture); cityChapterButton = new Button(new Rectangle(60, 140, 167, 99), cityChapterSelectTexture); caveChapterButton = new Button(new Rectangle(60, 330, 167, 99), caveChapterSelectTexture); cityChallengeChapterButton = new Button(new Rectangle(560, 140, 167, 99), cityChallengeChapterSelectTexture); caveChallengeChapterButton = new Button(new Rectangle(560, 330, 167, 99), caveChallengeChapterSelectTexture); tempContinueButton = new Button(new Rectangle(80, 380, 200, 80), devContinueTexture); // this if else is for checking if you are in the top row or bottom row of levels if (levelReach <= MAX_LEVELS/2) { for (int i = 0; i <= levelReach; i++) { Button b = new Button(new Rectangle(10 + i * 160, 150, 150, 100), devUnlockedTexture); b.setExtra(i); lockedLevels.AddLast(b); } for (int i = levelReach + 1; i <= MAX_LEVELS/2; i++) { Button b = new Button(new Rectangle(10 + i * 160, 150, 150, 100), devLockedTexture); b.setExtra(i); lockedLevels.AddLast(b); } for (int i = 0; i < MAX_LEVELS/2; i++) { Button b = new Button(new Rectangle(10 + i * 160, 300, 150, 100), devLockedTexture); b.setExtra(MAX_LEVELS/2+i); lockedLevels.AddLast(b); } } else { for (int i = 0; i < MAX_LEVELS/2; i++) { Button b = new Button(new Rectangle(10 + i * 160, 150, 150, 100), devUnlockedTexture); b.setExtra(i); lockedLevels.AddLast(b); } for (int i = 0; i <= levelReach-MAX_LEVELS/2; i++) { Button b = new Button(new Rectangle(10 + i * 160, 300, 150, 100), devUnlockedTexture); b.setExtra(MAX_LEVELS / 2 + i); lockedLevels.AddLast(b); } for (int i = levelReach-MAX_LEVELS/2 + 1; i < MAX_LEVELS- MAX_LEVELS/2; i++) { Button b = new Button(new Rectangle(10 + i * 160, 300, 150, 100), devLockedTexture); b.setExtra(MAX_LEVELS/2 + i); lockedLevels.AddLast(b); } } flag = GameMenuFlag.NoFlag; MusicManager.SetSong(associatedMusic); MusicManager.StartMusic(); //Not sure why this doesnt work, but we'll need it eventually //System.IO.DirectoryInfo contentDir = new System.IO.DirectoryInfo("Level"); //chapterFiles = contentDir.GetFiles(); showOptionMenu = false; //optionAnimationTransition = false; optionsListView = new View(optionsClosed, gameOptionsTexture); pressedButton = cityChapterButton; PrepareNextState(); }