public SinglePlayerGame(Settings settings) { playerOneField = new Playfield(GameType.Time, new Vector2(500f, 325f), settings.PlayfieldSize); backgroundImage = new Image(); pauseImage = new Image(); startText = new Text(); timer = new Text(); }
public static void Start(Settings settings) { HglRuntime.Start(() => new Node { new ExtensionLoader(), new Studio(settings) }); }
public SplitScreenGame(Settings settings) { playerOneField = new Playfield(settings.GameType, new Vector2(780f, 325f), settings.PlayfieldSize); playerTwoField = new Playfield(settings.GameType, new Vector2(300f, 325f), settings.PlayfieldSize); backgroundImage = new Image(); pauseImage = new Image(); timer = new Text(); }
public CheckBox(Settings.type settingType, Texture2D graphicChecked, Texture2D graphicUnchecked, int posX, int posY) { GraphicChecked = graphicChecked; GraphicUnchecked = graphicUnchecked; SettingType = settingType; X = posX; Y = posY; Size = new Point(196, 149); SizeChecked = new Point(221, 149); SizeUnchecked = new Point(196, 149); }
public NetworkGame(Settings settings, NetPeer peer) { this.settings = settings; this.peer = peer; localPlayerField = new Playfield(settings.GameType, new Vector2(780f, 325f), settings.PlayfieldSize); remotePlayerField = new RemotePlayfield(settings.GameType, new Vector2(300f, 325f), settings.PlayfieldSize); xDiff = localPlayerField.Position.X - remotePlayerField.Position.X; backgroundImage = new Image(); pauseImage = new Image(); timeText = new Text(); countdownText = new OutlineText(); if (peer.ConnectionsCount == 0) NewScreen(new NetworkGameSetup(), "No Connection"); else connection = peer.Connections.ToArray()[0]; }
public override void Initialize(SpriteBatch spriteBatch, Settings settings) { base.Initialize(spriteBatch, settings); isStarted = false; playerOneField.Initialize(spriteBatch, settings.Difficulty); playerOneField.IsShowing = true; playerOneField.SetDebugInfoVisibility(settings.ShowDebugInfo); System.Threading.Thread.Sleep(10); playerTwoField.Initialize(spriteBatch, settings.Difficulty); playerTwoField.IsShowing = true; playerTwoField.SetDebugInfoVisibility(settings.ShowDebugInfo); playerOneField.BaseDropSpeed = settings.BlockDropSpeed; playerTwoField.BaseDropSpeed = settings.BlockDropSpeed; pauseImage.Initialize(); pauseImage.Layer = 0.9f; pauseImage.Size = new Vector2(487, 120); pauseImage.Position = new Vector2(500, 360); pauseImage.IsShowing = false; pauseImage.TextureName = TextureNames.game_paused; backgroundImage.Initialize(); backgroundImage.Layer = 0.3f; backgroundImage.Size = new Vector2(1000f, 720f); backgroundImage.Position = new Vector2(500f, 360f); backgroundImage.TextureName = TextureNames.game_background; playerOneField.GameOver += new GameOverEventHandler(OnGameOver); playerTwoField.GameOver += new GameOverEventHandler(OnGameOver); playerOneField.ShouldDropBlackBlocks += ShouldDropBlackBlocks; playerTwoField.ShouldDropBlackBlocks += ShouldDropBlackBlocks; timeLimit = new TimeSpan(0, settings.PlayTime, 0); timer.Initialize(); timer.Font = FontNames.Segoe_UI_Mono; timer.Layer = 0.8f; timer.Position = new Vector2(10); timer.TextColor = Color.Navy; timer.TextValue = "Time left: " + timeLimit.Minutes.ToString() + ":" + timeLimit.Seconds.ToString(); if (settings.GameType != GameType.Time) timer.IsShowing = false; }
public override void Initialize(SpriteBatch spriteBatch, Settings settings) { base.Initialize(spriteBatch, settings); isStarted = false; playerOneField.Initialize(spriteBatch, settings.Difficulty); playerOneField.IsShowing = true; playerOneField.BaseDropSpeed = settings.BlockDropSpeed; playerOneField.SetDebugInfoVisibility(settings.ShowDebugInfo); pauseImage.Initialize(); pauseImage.Layer = 0.9f; pauseImage.Size = new Vector2(487, 120); pauseImage.Position = new Vector2(500, 300); pauseImage.IsShowing = false; pauseImage.TextureName = TextureNames.game_paused; backgroundImage.Initialize(); backgroundImage.Layer = 0.1f; backgroundImage.Size = new Vector2(1000f, 720f); backgroundImage.Position = new Vector2(500f, 360f); backgroundImage.TextureName = TextureNames.game_background; startText.Initialize(); startText.Font = FontNames.Segoe_UI_Mono; startText.Position = new Vector2(500, 300); startText.TextColor = Color.Navy; startText.Layer = 0.9f; startText.IsCentered = true; startText.Spacing = 6; startText.TextValue = "Press Enter to\nstart the game"; timer.Initialize(); timer.Font = FontNames.Segoe_UI_Mono; timer.IsShowing = true; timer.Layer = 0.8f; timer.Position = new Vector2(10); timer.TextColor = Color.Navy; timer.TextValue = "Time played: " + time.Minutes.ToString() + ":" + time.Seconds.ToString(); playerOneField.GameOver += new GameOverEventHandler(OnGameOver); }
public override void LoadContent() { Manager.Jobs.CreateJob( () => { content = new ContentManager(Manager.Game.Services, "Content"); sb = new SpriteBatch(Manager.GraphicsDevice); gui = content.Load<Window>("GUI\\Settings"); gui.Initialise(null); gui.LoadGraphics(Manager.GraphicsDevice, content); touch = new WP7Touch(gui); touch.EnableTap(); settings = new Settings(); BindInput(); LoadSettings(); IsReady = true; }); base.LoadContent(); }
static Settings PrepSettings() { if (settings == null) { settings = new Settings(); AutoConfig(); } else if (!running) { Init(); return settings; } if (!running) Init(); return settings; }
public override void Initialize(SpriteBatch spriteBatch, Settings settings) { base.Initialize(spriteBatch, settings); backGroundImage.Initialize(); backGroundImage.TextureName = TextureNames.game_background; backGroundImage.Size = new Vector2(1000f, 720f); backGroundImage.Position = backGroundImage.Size / 2; gameoverText.Initialize(); gameoverText.IsCentered = true; gameoverText.Font = FontNames.Segoe_UI_Mono; gameoverText.Layer = 0.7f; gameoverText.Position = new Vector2(500, 150); gameoverText.TextColor = Color.MintCream; gameoverText.TextValue = "GAME OVER"; infoText.Initialize(); infoText.IsCentered = true; infoText.Font = FontNames.Segoe_UI_Mono; infoText.Layer = 0.7f; infoText.Position = new Vector2(500, 300); infoText.TextColor = Color.MintCream; infoText.TextValue = "Press F10 to return to the menu"; time.Initialize(); time.Font = FontNames.Segoe_UI_Mono; time.Layer = 0.7f; time.IsCentered = true; time.Position = new Vector2(500, 425); time.TextColor = Color.Red; time.TextValue = "Time played: " + results.Time.Minutes.ToString() + ":" + results.Time.Seconds.ToString(); p1Score.Initialize(); p1Score.Font = FontNames.Segoe_UI_Mono; p1Score.Layer = 0.7f; p1Score.IsCentered = true; p1Score.Position = new Vector2(500, 500); p1Score.TextColor = Color.Red; p1Score.TextValue = "Score: " + results.Player1Score.ToString("F0"); cursor.Initialize(); if (!results.IsSingleplayer) { if (results.Player1Won) { if (!isNetwork) gameoverText.TextValue = "Player 1 Won!"; else gameoverText.TextValue = "You Won!"; } else { if (!isNetwork) gameoverText.TextValue = "Player 2 Won!"; else gameoverText.TextValue = "You Lost!"; } if (!isNetwork) p1Score.TextValue = "Player 1 Score: " + results.Player1Score.ToString("F0"); else p1Score.TextValue = "Your score: " + results.Player1Score.ToString("F0"); p2Score.Initialize(); p2Score.Font = FontNames.Segoe_UI_Mono; p2Score.Layer = 0.7f; p2Score.IsCentered = true; p2Score.Position = new Vector2(500, 575); p2Score.TextColor = Color.Red; if (!isNetwork) p2Score.TextValue = "Player 2 Score: " + results.Player2Score.ToString("F0"); else p2Score.TextValue = "Opponent Score: " + results.Player2Score.ToString("F0"); p2Score.IsShowing = true; } if (results.IsSingleplayer) foreach (int i in settings.score) if (i < results.Player1Score || i < results.Player2Score) newHighscore = true; if (newHighscore) { List<int> newList = new List<int>(); newList.AddRange(settings.score); newList.Add((int)results.Player1Score); newList.Sort(); newList.Reverse(); newList.RemoveAt(5); int[] newHighscoreList = newList.ToArray(); settings.score = newHighscoreList; } }
using System;
public Studio(Settings settings, Gui gui) : this(settings) { Init(gui); }
public Studio(Settings settings) { _settings = settings; }
protected override void Update(GameTime gameTime) { if (metaState == MetaState.InitialLoad) { splashScreen = new SplashScreen(); metaState = MetaState.SplashScreen; } // Controls //if (GamePad.GetState(Game.playerIndex).Buttons.Back == ButtonState.Pressed) // this.Exit(); if (HighScoreTracker.device!=null && Keyboard.GetState().IsKeyDown(Keys.Escape)) { HighScoreData data = HighScoreTracker.LoadHighScores(); data.soundEffectsEnabled = gameSettings.soundEffectsEnabled; data.musicEnabled = gameSettings.musicEnabled; data.displayHelp = gameSettings.displayControls; data.wideScreen = gameSettings.wideScreen; data.keyboardControls = gameSettings.keyboardControls; HighScoreTracker.SaveHighScores(data); Logger.CloseLogger(); this.Exit(); } if (metaState == MetaState.SplashScreen) { if (MenuResult.GoToMainMenu == splashScreen.Update(gameTime)) { base.Initialize(); try { if (Guide.IsVisible == true) splashScreen.stillActive = true; else StorageDevice.BeginShowSelector(this.GetDevice, "Select Storage Device"); } catch { splashScreen.stillActive = true; } } } if (HighScoreTracker.device != null && HighScoreTracker.device.IsConnected == true) { showRetry = false; } if (backToRetry == true || (HighScoreTracker.device != null && showRetry == false && HighScoreTracker.device.IsConnected == false)) { if (Guide.IsVisible == false) { try { StorageDevice.BeginShowSelector(this.RetryDevice, "Select Storage Device"); backToRetry = false; showRetry = true; } catch { } } } if (metaState == MetaState.SplashScreen && deviceSelected==true) { HighScoreData data = HighScoreTracker.LoadHighScores(); gameSettings = new GameSettings(); gameSettings.displayControls = data.displayHelp; gameSettings.musicEnabled = data.musicEnabled; gameSettings.soundEffectsEnabled = data.soundEffectsEnabled; gameSettings.fullScreen = data.fullScreen; gameSettings.wideScreen = data.wideScreen; gameSettings.keyboardControls = data.keyboardControls; currentSettings = new Settings(); p1engine = new Engine(-1); mainMenu = new MainMenu(); pauseMenu = new PauseMenu(); summaryMenu = new SummaryMenu(false); gameOverMenu = new GameOverMenu(); selectMenu = new LevelSelectMenu(); tutorialLauncher = new TutorialLauncher(); settingsMenu = new Menu(MenuClass.SettingsMenu); currentSettings = new Settings(); p1engine = new Engine(-1); mainMenu = new MainMenu(); pauseMenu = new PauseMenu(); summaryMenu = new SummaryMenu(false); gameOverMenu = new GameOverMenu(); selectMenu = new LevelSelectMenu(); tutorialLauncher = new TutorialLauncher(); settingsMenu = new Menu(MenuClass.SettingsMenu); if(Guide.IsTrialMode) mainMenu.AddMenuItem(MenuResult.GoToTutorial, "Tutorial", "Learn to play Jellyfish, MD"); mainMenu.AddMenuItem(MenuResult.GoToTimeAttack, "Emergency Room", "Score as many points as you can within the \ntime limit."); mainMenu.AddMenuItem(MenuResult.GoToMoveChallenge, "Operation", "Score as many points as you can with a \nlimited number of moves."); mainMenu.AddMenuItem(MenuResult.GoToPuzzle, "Challenge", "Solve a series of unique challenges."); if(Guide.IsTrialMode==false) mainMenu.AddMenuItem(MenuResult.GoToTutorial, "Tutorial", "Learn to play Jellyfish, MD"); mainMenu.AddMenuItem(MenuResult.BuyFullGame, "Unlock Full Game", "Purchase the full version of Jellyfish, MD"); mainMenu.AddMenuItem(MenuResult.GoToJellyfishCity, "Jellyfish Parade", "Check in on your former patients!"); mainMenu.AddMenuItem(MenuResult.GoToSettings, "Settings", "Change settings for Jellyfish, MD"); mainMenu.AddMenuItem(MenuResult.Quit, "Quit", "Quit Jellyfish, MD??"); gameOverMenu.AddMenuItem(MenuResult.StartTimeAttack, "Replay"); gameOverMenu.AddMenuItem(MenuResult.GoToMainMenu, "Main Menu"); gameOverMenu.AddMenuItem(MenuResult.GoToLevelSelect, "Level Select"); settingsMenu.AddMenuItem(MenuResult.GoToMainMenu, "Return to Menu"); settingsMenu.AddMenuItem(MenuType.SoundToggle, "Sound Effects"); settingsMenu.AddMenuItem(MenuType.MusicToggle, "Music"); settingsMenu.AddMenuItem(MenuType.HelpToggle, "Help Overlay"); #if WINDOWS settingsMenu.AddMenuItem(MenuType.FullScreenToggle, "Full Screen"); settingsMenu.AddMenuItem(MenuType.WideScreenToggle, "Wide Screen"); #endif UpdateResolution(); metaState = MetaState.MainMenu; } if (metaState == MetaState.GamePlay && IsActive==true) { GameStopCause cause = p1engine.Update(gameTime); if (cause == GameStopCause.PAUSE) { pauseMenu = new PauseMenu(); metaState = MetaState.Paused; } if (cause == GameStopCause.END) { gameOverMenu.score = p1engine.currentScore; gameOverMenu.level = currentSettings.level; gameOverMenu.state = GameOverMenuState.SCORECHECK; summaryMenu = new SummaryMenu(true); if(currentSettings.mode==GameMode.MoveChallenge) summaryMenu.text = "Looks like you're out of moves, Doctor! \nLet's see how you did..."; if(currentSettings.mode == GameMode.TimeAttack) summaryMenu.text = "Time's up, Doctor! Let's see \nhow you did..."; MusicControl.PlayMenuMusic(); metaState = MetaState.Summary; } if (cause == GameStopCause.WIN) { gameOverMenu.score = Engine.clock.timeElapsed; gameOverMenu.level = currentSettings.level; gameOverMenu.state = GameOverMenuState.SCORECHECK; summaryMenu = new SummaryMenu(true); summaryMenu.text = "Way to go, Doctor! You did it!"; metaState = MetaState.Summary; MusicControl.PlayMenuMusic(); } if (cause == GameStopCause.TUTORIAL_TEXT) { TutorialStage.phase = TutorialPhase.Intro; summaryMenu = new SummaryMenu(true); summaryMenu.text = TutorialStage.IntroText(); if (summaryMenu.text == null) metaState = MetaState.GamePlay; summaryMenu.state = SummaryMenuState.READY; metaState = MetaState.Summary; } if (cause == GameStopCause.TUTORIAL_PASS) { TutorialStage.phase = TutorialPhase.Pass; String text = TutorialStage.SuccessText(); summaryMenu = new SummaryMenu(true); summaryMenu.text = text; metaState = MetaState.Summary; } if (cause == GameStopCause.TUTORIAL_FAIL) { TutorialStage.phase = TutorialPhase.Fail; String text = TutorialStage.FailureText(); summaryMenu = new SummaryMenu(false); summaryMenu.text = text; metaState = MetaState.Summary; } if (cause == GameStopCause.LOSE_STUCK) { summaryMenu = new SummaryMenu(false); summaryMenu.text = "Oh no! Looks like you're stuck! Try to be more \ncareful next time!"; gameOverMenu.state = GameOverMenuState.READY; metaState = MetaState.Summary; } if (cause == GameStopCause.LOSE_ERROR) { summaryMenu = new SummaryMenu(false); summaryMenu.text = "Oh no! You burst a " + currentSettings.dangerColorDisplay + " bubble! Try to be more \ncareful next time!"; gameOverMenu.state = GameOverMenuState.READY; metaState = MetaState.Summary; } } else if (metaState == MetaState.Paused) { MenuResult result = pauseMenu.Update(gameTime); if (result == MenuResult.GoToMainMenu) { TutorialStage.phase = TutorialPhase.None; metaState = MetaState.MainMenu; } if (result == MenuResult.ResumeGame) { summaryMenu.state = SummaryMenuState.NURSEIN; metaState = MetaState.GamePlay; } if (result == MenuResult.GoToLevelSelect) { MusicControl.PlayMenuMusic(); if (currentSettings.mode == GameMode.TimeAttack) metaState = MetaState.Settings_TimeAttack; if (currentSettings.mode == GameMode.Puzzle) metaState = MetaState.Settings_Puzzle; if (currentSettings.mode == GameMode.MoveChallenge) metaState = MetaState.Settings_Move; } if (result == MenuResult.Replay) { p1engine = new Engine(-1); metaState = MetaState.GamePlay; } } else if (metaState == MetaState.Summary) { if (Game.currentSettings.mode==GameMode.Puzzle && gameOverMenu.state != GameOverMenuState.SCORECHECK) { Engine.clock.Update(gameTime); } MenuResult result = summaryMenu.Update(gameTime); if (TutorialStage.phase != TutorialPhase.None && TutorialStage.introIndex-1 == TutorialStage.controlLessonIndex) p1engine.Update(gameTime); if (result == MenuResult.GoToMainMenu) { TutorialStage.phase = TutorialPhase.None; metaState = MetaState.MainMenu; } if (result == MenuResult.Replay) { if (TutorialStage.phase == TutorialPhase.Fail) { p1engine.LoadTutorial(TutorialStage.lessonIndex); TutorialStage.phase = TutorialPhase.Intro; TutorialStage.failureIndex = 0; TutorialStage.introIndex = 0; TutorialStage.successIndex = 0; p1engine.firstResume = true; metaState = MetaState.GamePlay; } else if (TutorialStage.phase == TutorialPhase.Pass) { p1engine.LoadTutorial(TutorialStage.lessonIndex); TutorialStage.phase = TutorialPhase.Intro; TutorialStage.failureIndex = 0; TutorialStage.introIndex = 0; TutorialStage.successIndex = 0; p1engine.firstResume = false; metaState = MetaState.GamePlay; } else { p1engine = new Engine(-1); MusicControl.PlayGameMusic(); metaState = MetaState.GamePlay; } } if (result == MenuResult.Undo) { p1engine.Back(); metaState = MetaState.GamePlay; } if (result == MenuResult.GoToResults) { if (currentSettings.mode == GameMode.Tutorial) { if (TutorialStage.phase == TutorialPhase.Intro) { metaState = MetaState.GamePlay; } else if (TutorialStage.phase == TutorialPhase.Pass) { TutorialStage.lessonIndex++; if (TutorialStage.lessonIndex == TutorialStage.maxLesson) { TutorialStage.phase = TutorialPhase.None; summaryMenu = new SummaryMenu(false); metaState = MetaState.MainMenu; } else { //p1engine = new Engine(TutorialStage.lessonIndex); p1engine.LoadTutorial(TutorialStage.lessonIndex); p1engine.firstResume = true; //p1engine.gameState = State.VANISH; TutorialStage.phase = TutorialPhase.Intro; metaState = MetaState.GamePlay; } } else { } } else { metaState = MetaState.GameOver_TimeAttack; } } if (result == MenuResult.GoToLevelSelect) { MusicControl.PlayMenuMusic(); if (currentSettings.mode == GameMode.TimeAttack) metaState = MetaState.Settings_TimeAttack; if (currentSettings.mode == GameMode.Puzzle) metaState = MetaState.Settings_Puzzle; if (currentSettings.mode == GameMode.MoveChallenge) metaState = MetaState.Settings_Move; } } else if (metaState == MetaState.Settings_TimeAttack || metaState == MetaState.Settings_Puzzle || metaState == MetaState.Settings_Move) { MenuResult result = selectMenu.Update(gameTime); if (result == MenuResult.GoToMainMenu) { System.Threading.Thread.Sleep(100); metaState = MetaState.MainMenu; } if (result == MenuResult.StartTimeAttack) { currentSettings = selectMenu.GetCurrentSettings(); currentSettings.level = selectMenu.currentLevel; p1engine = new Engine(-1); MusicControl.PlayGameMusic(); metaState = MetaState.GamePlay; } } else if (metaState == MetaState.GameOver_TimeAttack) { if (Engine.mode == ControlMode.AUTOMATED) { p1engine = new Engine(-1); metaState = MetaState.GamePlay; } else { MenuResult result = gameOverMenu.Update(gameTime); if (result == MenuResult.GoToMainMenu) { metaState = MetaState.MainMenu; System.Threading.Thread.Sleep(100); } if (result == MenuResult.GoToLevelSelect) { selectMenu = new LevelSelectMenu(); selectMenu.state = LevelSelectMenu.SelectMenuState.LOAD; if (currentSettings.mode == GameMode.MoveChallenge) { metaState = MetaState.Settings_Move; selectMenu.cooldown = 250; selectMenu.currentLevel = gameSettings.moveChallengeViewLevel; selectMenu.levelList = SettingsLoader.LoadMoveCountLevels(); currentSettings.mode = GameMode.MoveChallenge; } if (currentSettings.mode == GameMode.TimeAttack) { metaState = MetaState.Settings_TimeAttack; selectMenu.cooldown = 250; selectMenu.currentLevel = gameSettings.timeAttackViewLevel; selectMenu.levelList = SettingsLoader.LoadTimeAttackLevels(); currentSettings.mode = GameMode.TimeAttack; } if (currentSettings.mode == GameMode.Puzzle) { metaState = MetaState.Settings_Puzzle; selectMenu.cooldown = 250; selectMenu.levelList = SettingsLoader.LoadPuzzleLevels(); selectMenu.currentLevel = gameSettings.puzzleViewLevel; currentSettings.mode = GameMode.Puzzle; } } if (result == MenuResult.StartTimeAttack) { p1engine = new Engine(-1); MusicControl.PlayGameMusic(); metaState = MetaState.GamePlay; } } } else if (metaState == MetaState.Settings) { MenuResult result = settingsMenu.Update(gameTime); if (result == MenuResult.GoToMainMenu) { metaState = MetaState.MainMenu; } } else if (metaState == MetaState.JellyfishCity) { MenuResult result = jellyCity.Update(gameTime); if (result == MenuResult.GoToMainMenu) { metaState = MetaState.MainMenu; } } else if (metaState == MetaState.Tutorial) { MenuResult result = tutorialLauncher.Update(gameTime); if (result == MenuResult.StartTutorial) { summaryMenu.state = SummaryMenuState.READY; currentSettings = SettingsLoader.Tutorial(); p1engine = new Engine(0); p1engine.firstResume = true; metaState = MetaState.GamePlay; } } else if (metaState == MetaState.MainMenu) { MenuResult result = mainMenu.Update(gameTime); if (result == MenuResult.ReturnToSplashScreen) { HighScoreData data = HighScoreTracker.LoadHighScores(); data.soundEffectsEnabled = gameSettings.soundEffectsEnabled; data.musicEnabled = gameSettings.musicEnabled; data.displayHelp = gameSettings.displayControls; data.fullScreen = gameSettings.fullScreen; data.wideScreen = gameSettings.wideScreen; data.keyboardControls = gameSettings.keyboardControls; HighScoreTracker.SaveHighScores(data); deviceSelected = false; HighScoreTracker.device = null; if (HighScoreTracker.container != null) HighScoreTracker.container.Dispose(); HighScoreTracker.container = null; HighScoreTracker.cachedData = null; splashScreen = new SplashScreen(); metaState = MetaState.SplashScreen; } if (result == MenuResult.BuyFullGame) { try { Guide.ShowMarketplace(Game.playerIndex); } catch (GamerPrivilegeException) { Guide.BeginShowMessageBox("Oops!", "The current controller is either not signed in or is unable to purchase games on XBox Live.", new string[] { "OK" }, 0, MessageBoxIcon.None, null, null); } catch { } } if (result == MenuResult.GoToSettings) { metaState = MetaState.Settings; } if (result == MenuResult.GoToTimeAttack) { metaState = MetaState.Settings_TimeAttack; selectMenu = new LevelSelectMenu(); selectMenu.levelList = SettingsLoader.LoadTimeAttackLevels(); selectMenu.currentLevel = gameSettings.timeAttackViewLevel; selectMenu.state = LevelSelectMenu.SelectMenuState.LOAD; currentSettings.mode = GameMode.TimeAttack; System.Threading.Thread.Sleep(100); } if (result == MenuResult.GoToPuzzle) { metaState = MetaState.Settings_Puzzle; selectMenu = new LevelSelectMenu(); selectMenu.levelList = SettingsLoader.LoadPuzzleLevels(); selectMenu.state = LevelSelectMenu.SelectMenuState.LOAD; selectMenu.currentLevel = gameSettings.puzzleViewLevel; currentSettings.mode = GameMode.Puzzle; System.Threading.Thread.Sleep(100); } if (result == MenuResult.GoToJellyfishCity) { metaState = MetaState.JellyfishCity; jellyCity = new JellyfishCity(); } if (result == MenuResult.GoToTutorial) { metaState = MetaState.Tutorial; TutorialStage.phase = TutorialPhase.Intro; TutorialStage.lessonIndex = 0; TutorialStage.loaded = false; tutorialLauncher = new TutorialLauncher(); } if (result == MenuResult.GoToMoveChallenge) { metaState = MetaState.Settings_Move; selectMenu = new LevelSelectMenu(); selectMenu.levelList = SettingsLoader.LoadMoveCountLevels(); selectMenu.state = LevelSelectMenu.SelectMenuState.LOAD; selectMenu.currentLevel = gameSettings.moveChallengeViewLevel; currentSettings.mode = GameMode.TimeAttack; } if (result == MenuResult.StartCollect) { p1engine = new Engine(-1); metaState = MetaState.GamePlay; } if (result == MenuResult.StartPuzzle) { p1engine = new Engine(-1); metaState = MetaState.GamePlay; } if (result == MenuResult.GoToSurvival) { metaState = MetaState.GamePlay; } if (result == MenuResult.Quit) { HighScoreData data = HighScoreTracker.LoadHighScores(); data.soundEffectsEnabled = gameSettings.soundEffectsEnabled; data.musicEnabled = gameSettings.musicEnabled; data.displayHelp = gameSettings.displayControls; data.fullScreen = gameSettings.fullScreen; data.wideScreen = gameSettings.wideScreen; data.keyboardControls = gameSettings.keyboardControls; HighScoreTracker.SaveHighScores(data); Logger.CloseLogger(); this.Exit(); } } base.Update(gameTime); }
private static Settings PrepSettings() { if (SdlGamePad.settings == null) { SdlGamePad.settings = new Settings(); SdlGamePad.AutoConfig(); } else if (!SdlGamePad.running) { SdlGamePad.Init(); return SdlGamePad.settings; } if (!SdlGamePad.running) SdlGamePad.Init(); return SdlGamePad.settings; }
public override void Initialize(SpriteBatch spriteBatch, Settings localSettings) { this.spriteBatch = spriteBatch; mouseVisible = false; drawables = new List<NotTetris.Graphics.IDrawable>(); updateTime = 0; updateInterval = 50; isStarted = false; remotePlayerDown = false; #region Initialize playfields localPlayerField.Initialize(spriteBatch, settings.Difficulty); localPlayerField.IsShowing = true; localPlayerField.SetDebugInfoVisibility(localSettings.ShowDebugInfo); System.Threading.Thread.Sleep(10); remotePlayerField.Initialize(spriteBatch, settings.Difficulty); remotePlayerField.IsShowing = true; remotePlayerField.SetDebugInfoVisibility(localSettings.ShowDebugInfo); localPlayerField.GameOver += OnGameOver; localPlayerField.NewNextCluster += localPlayerField_NewNextCluster; localPlayerField.ClusterDrop += localPlayerField_ClusterDrop; localPlayerField.ClusterSeparate += localPlayerField_ClusterSeparate; if (settings.GameType == GameType.Normal) { localPlayerField.BlackBlocksCreated += localPlayerField_BlackBlocksCreated; localPlayerField.ShouldDropBlackBlocks += localPlayerField_RemoteShouldDropBlackBlocks; localPlayerField.BlackBlockCollision += localPlayerField_BlackBlockCollision; } NetOutgoingMessage msg = peer.CreateMessage(); msg.Write("init"); msg.Write((int)localPlayerField.CurrentCluster.FirstBlock.BlockType); msg.Write((int)localPlayerField.CurrentCluster.SecondBlock.BlockType); msg.Write((int)localPlayerField.NextCluster.FirstBlock.BlockType); msg.Write((int)localPlayerField.NextCluster.SecondBlock.BlockType); peer.SendMessage(msg, connection, NetDeliveryMethod.ReliableOrdered); ListenForInit(); localPlayerField.BaseDropSpeed = settings.BlockDropSpeed; remotePlayerField.BaseDropSpeed = settings.BlockDropSpeed; #endregion #region Initialize images & text pauseImage.Initialize(); pauseImage.Layer = 0.9f; pauseImage.Size = new Vector2(487, 120); pauseImage.Position = WINDOWSIZE * 0.5f; pauseImage.IsShowing = false; pauseImage.TextureName = TextureNames.game_paused; backgroundImage.Initialize(); backgroundImage.Layer = 0.3f; backgroundImage.Size = WINDOWSIZE; backgroundImage.Position = WINDOWSIZE * 0.5f; backgroundImage.TextureName = TextureNames.game_background; timeLimit = new TimeSpan(0, settings.PlayTime, 0); timeText.Initialize(); timeText.Font = FontNames.Segoe_UI_Mono; timeText.Layer = 0.8f; timeText.Position = new Vector2(10); timeText.TextColor = Color.Navy; timeText.TextValue = "Time left: " + timeLimit.Minutes.ToString() + ":" + timeLimit.Seconds.ToString(); if (settings.GameType != GameType.Time) timeText.IsShowing = false; countdownValue = 5.0f; countdownText.Initialize(); countdownText.Font = FontNames.Segoe_UI_Mono_Huge; countdownText.Layer = 0.9f; countdownText.Position = WINDOWSIZE * 0.5f - new Vector2(0f, 50f); countdownText.IsCentered = true; countdownText.TextColor = Color.Navy; countdownText.OutlineColor = Color.White; countdownText.OutlineSize = 3f; countdownText.TextValue = Convert.ToString(countdownValue); #endregion }