public override void render(SpriteBatch sb) { sb.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null, null, Matrix.Identity); sb.Draw(Game1.whitePixel, new Vector2(-400), null, Color.Black, 0.0f, Vector2.Zero, new Vector2(9999), SpriteEffects.None, 0.5f); Vector2 linesOffset = new Vector2(CampaignLobbyState.lineOffset); for (int i = -6; i < GlobalGameConstants.GameResolutionWidth / 16 + 8; i++) { drawLine(sb, new Vector2(i * 16, -16) + linesOffset, GlobalGameConstants.GameResolutionHeight + 32, (float)Math.PI / 2, new Color(1, 0, 1, 0.1f), 1.0f); } for (int i = -6; i < GlobalGameConstants.GameResolutionHeight / 16 + 8; i++) { drawLine(sb, new Vector2(-16, i * 16) + linesOffset, GlobalGameConstants.GameResolutionWidth + 32, 0, new Color(1, 0, 1, 0.1f), 1.0f); } sb.Draw(Game1.whitePixel, XboxTools.GetTitleSafeArea(AnimationLib.GraphicsDevice, 0.8f), new Color(0.0f, 0.75f, 1.0f, 0.1f)); sb.DrawString(Game1.tenbyFive24, "Level Complete", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 100) - (Game1.tenbyFive24.MeasureString("Level Complete") / 2), Color.White); // time sb.DrawString(Game1.tenbyFive14, message_timePassed, new Vector2(GlobalGameConstants.GameResolutionWidth / 3, 200) - (Game1.tenbyFive14.MeasureString(message_timePassed) / 2), Color.White); sb.DrawString(Game1.tenbyFive14, message_totalTimePassed, new Vector2((GlobalGameConstants.GameResolutionWidth / 3) * 2, 200) - (Game1.tenbyFive14.MeasureString(message_totalTimePassed) / 2), Color.White); sb.DrawString(Game1.tenbyFive24, view_timePassed, new Vector2(GlobalGameConstants.GameResolutionWidth / 3, 200) - (Game1.tenbyFive14.MeasureString(view_timePassed) / 2) + new Vector2(0, 24), Color.White); sb.DrawString(Game1.tenbyFive24, view_timeElapsed, new Vector2((GlobalGameConstants.GameResolutionWidth / 3) * 2, 200) - (Game1.tenbyFive14.MeasureString(view_timeElapsed) / 2) + new Vector2(0, 24), Color.White); // coins sb.DrawString(Game1.tenbyFive14, message_levelCoins, new Vector2(GlobalGameConstants.GameResolutionWidth / 3, 265) - (Game1.tenbyFive14.MeasureString(message_levelCoins) / 2), Color.White); sb.DrawString(Game1.tenbyFive14, message_totalCoins, new Vector2((GlobalGameConstants.GameResolutionWidth / 3) * 2, 265) - (Game1.tenbyFive14.MeasureString(message_totalCoins) / 2), Color.White); sb.DrawString(Game1.tenbyFive24, view_levelCoins, new Vector2(GlobalGameConstants.GameResolutionWidth / 3, 265) - (Game1.tenbyFive14.MeasureString(view_levelCoins) / 2) + new Vector2(0, 24), Color.White); sb.DrawString(Game1.tenbyFive24, view_totalCoins, new Vector2((GlobalGameConstants.GameResolutionWidth / 3) * 2, 265) - (Game1.tenbyFive14.MeasureString(view_totalCoins) / 2) + new Vector2(0, 24), Color.White); drawBox(sb, new Rectangle((GlobalGameConstants.GameResolutionWidth / 8), 350, 550, 200), Color.White, 2); sb.DrawString(Game1.tenbyFive24, "Contract", new Vector2((GlobalGameConstants.GameResolutionWidth / 8) + 350 / 2 + 30, 350), Color.White); sb.DrawString(Game1.tenbyFive14, GameCampaign.levelMap[GameCampaign.PlayerLevelProgress, GameCampaign.PlayerFloorHeight].contract.contractMessage, new Vector2((GlobalGameConstants.GameResolutionWidth / 8) + 15, 385), Color.White); if (GameCampaign.currentContract.type == GameCampaign.GameContract.ContractType.KillQuest) { sb.DrawString(Game1.tenbyFive24, GameCampaign.currentContract.killCount + " kills made", new Vector2((GlobalGameConstants.GameResolutionWidth / 8) + 350 / 2 + 20, 500), Color.White); } for (int i = 0; i < GameCampaign.levelMap.GetLength(0); i++) { for (int j = 0; j < GameCampaign.levelMap.GetLength(1); j++) { if (!GameCampaign.levelMap[i, j].visible) { continue; } if (j == GameCampaign.floorProgress[i]) { sb.Draw(Game1.whitePixel, new Vector2(755, 390) + new Vector2(64 * i, 64 * j), null, Color.White, 0.0f, Vector2.Zero, new Vector2(32), SpriteEffects.None, 0.5f); } else { sb.Draw(Game1.whitePixel, new Vector2(755, 390) + new Vector2(64 * i, 64 * j), null, new Color(1, 1, 1, 0.5f), 0.0f, Vector2.Zero, new Vector2(32), SpriteEffects.None, 0.5f); } } } for (int i = 0; i < GameCampaign.PlayerLevelProgress; i++) { float length = GameCampaign.floorProgress[i + 1] == GameCampaign.floorProgress[i] ? 64 : 90.5f; drawLine(sb, new Vector2(755, 390) + new Vector2(64 * i, 64 * GameCampaign.floorProgress[i]) + new Vector2(16), length, (float)(Math.Atan2(GameCampaign.floorProgress[i + 1] - GameCampaign.floorProgress[i], 1)), Color.Red, 2.0f); } if (screenTimePassed > numberTickingDuration) { sb.DrawString(Game1.tenbyFive24, "Press A to continue", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 596) - (Game1.tenbyFive24.MeasureString("Press A to continue") / 2), Color.Lerp(Color.White, Color.Transparent, (float)(Math.Sin(screenTimePassed / 500) * 0.5f) + 0.5f)); } sb.End(); }
private void renderGUI(Microsoft.Xna.Framework.Graphics.SpriteBatch sb, float scale) { Texture2D tex = TextureLib.getLoadedTexture("wireFramePieces.png"); Texture2D tex2 = TextureLib.getLoadedTexture("roguefakewireframe.png"); sb.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied); sb.Draw(Game1.whitePixel, new Vector2(-99999, -99999) / 2, null, Color.Black, 0.0f, Vector2.Zero, new Vector2(99999, 99999), SpriteEffects.None, 0.0f); Vector2 linesOffset = new Vector2(CampaignLobbyState.lineOffset); for (int i = -6; i < GlobalGameConstants.GameResolutionWidth / 16 + 8; i++) { drawLine(sb, new Vector2(i * 16, -16) + linesOffset, GlobalGameConstants.GameResolutionHeight + 32, (float)Math.PI / 2, new Color(1, 0, 1, 0.1f), 1.0f); } for (int i = -6; i < GlobalGameConstants.GameResolutionHeight / 16 + 8; i++) { drawLine(sb, new Vector2(-16, i * 16) + linesOffset, GlobalGameConstants.GameResolutionWidth + 32, 0, new Color(1, 0, 1, 0.1f), 1.0f); } sb.End(); sb.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null, null, Matrix.CreateTranslation(-575, -100, 0) * Matrix.CreateScale(1.0f, cursorAnimationTime > 500f ? 1.0f : (cursorAnimationTime / 500f), 1.0f) * Matrix.CreateScale(scale)); sb.Draw(wireframe, new Vector2(-150, 0), null, Color.Lerp(Color.DarkCyan, Color.Black, 0.375f + (0.025f * (float)Math.Sin(cursorAnimationTime / 10))), 0.0f, Vector2.Zero, new Vector2(1), SpriteEffects.FlipHorizontally, 0.0f); sb.Draw(tex2, new Vector2(575, 100) + new Vector2(130, 220), null, Color.White, 0.0f, Vector2.Zero, new Vector2(0.046f, 0.0666f), SpriteEffects.None, 0.0f); for (int i = 0; i < GameCampaign.levelMap.GetLength(0); i++) { for (int j = 0; j < GameCampaign.levelMap.GetLength(1); j++) { if (!GameCampaign.levelMap[i, j].visible) { continue; } if (i == 0 && j == 1) { sb.DrawString(Game1.tenbyFive10, "HANGAR", new Vector2(i * 128, j * 96) + drawMapTestOffset - new Vector2(0, 18), Color.Cyan); } else if (i == 5 && j == 1) { sb.DrawString(Game1.tenbyFive10, "BRIDGE", new Vector2(i * 128, j * 96) + drawMapTestOffset - new Vector2(0, 18), Color.Cyan); } else { sb.DrawString(Game1.tenbyFive10, "ZONE " + i + (j == 0 ? 'A' : ((j == 1) ? 'B' : 'C')), new Vector2(i * 128, j * 96) + drawMapTestOffset - new Vector2(0, 18), Color.Cyan); } if (i == GameCampaign.PlayerLevelProgress && j == GameCampaign.PlayerFloorHeight) { sb.Draw(tex, new Vector2(i * 128, j * 96) + drawMapTestOffset, new Rectangle(48, 0, 48, 48), Color.Blue); } else if (i == selectedLevelX && j == selectedLevelY) { sb.Draw(tex, new Vector2(i * 128, j * 96) + drawMapTestOffset, new Rectangle(0, 48, 48, 48), Color.Green); } else { sb.Draw(tex, new Vector2(i * 128, j * 96) + drawMapTestOffset, new Rectangle(0, 48, 48, 48), Color.Cyan); } } } if (state == LevelSelectStateState.Idle) { drawLine(sb, drawMapTestOffset + new Vector2(24) + new Vector2(GameCampaign.PlayerLevelProgress * 128, GameCampaign.PlayerFloorHeight * 96), GameCampaign.PlayerFloorHeight == selectedLevelY ? 128f : 155f, 0.85f * (float)((-Math.PI / 2) + Math.Atan2(selectedLevelX - GameCampaign.PlayerLevelProgress, GameCampaign.PlayerFloorHeight - selectedLevelY)), Color.Gray, 3.5f); } sb.Draw(tex, cursorPosition + new Vector2(24), new Rectangle(0, 0, 48, 48), Color.Red, 0.0f, new Vector2(24), 1 + (0.2f * (float)Math.Sin(cursorAnimationTime / 250f)), SpriteEffects.None, 0.5f); Rectangle rx = XboxTools.GetTitleSafeArea(AnimationLib.GraphicsDevice, 0.8f); rx.X += 575; rx.Y += 100; sb.Draw(Game1.whitePixel, rx, new Color(0.0f, 0.75f, 1.0f, 0.1f)); if (GameCampaign.PlayerLevelProgress >= GlobalGameConstants.LevelAliensAppearAt - 1) { drawBox(sb, new Rectangle(755, 500, 305, 200), Color.Cyan, 2); sb.DrawString(Game1.testComputerFont, "\n\nPrisoner Rates: " + Math.Round(100 * (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates))) + "%", testDetailStuff, Color.Orange); sb.DrawString(Game1.testComputerFont, "\n\n\n\nAlien Rates: " + Math.Round(100 * (GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates))) + "%", testDetailStuff, Color.Red); sb.DrawString(Game1.testComputerFont, "\n\n\nGuard Rates: " + Math.Round(100 * (GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates))) + "%", testDetailStuff, Color.LightBlue); } else { drawBox(sb, new Rectangle(755, 500, 305, 200), Color.Cyan, 2); sb.DrawString(Game1.testComputerFont, "\n\nPrisoner Rates: " + Math.Round(100 * (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates))) + "%", testDetailStuff + (Game1.testComputerFont.MeasureString("Alien Rates") * new Vector2(0, 0.5f)), Color.Orange); sb.DrawString(Game1.testComputerFont, "\n\n\nGuard Rates: " + Math.Round(100 * (GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates))) + "%", testDetailStuff + (Game1.testComputerFont.MeasureString("Alien Rates") * new Vector2(0, 0.5f)), Color.LightBlue); } sb.Draw(Game1.whitePixel, new Vector2(75, 0) + testDetailStuff - new Vector2(1, 1), null, Color.Black, 0.0f, Vector2.Zero, new Vector2(127, 34), SpriteEffects.None, 0.5f); sb.Draw(Game1.whitePixel, new Vector2(75, 0) + testDetailStuff, null, Color.Orange, 0.0f, Vector2.Zero, new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 32), SpriteEffects.None, 0.5f); sb.Draw(Game1.whitePixel, new Vector2(75, 0) + testDetailStuff + new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 0), null, Color.Red, 0.0f, Vector2.Zero, new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 32), SpriteEffects.None, 0.5f); sb.Draw(Game1.whitePixel, new Vector2(75, 0) + testDetailStuff + new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 0) + new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 0), null, Color.LightBlue, 0.0f, Vector2.Zero, new Vector2((float)(GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates / (GameCampaign.levelMap[selectedLevelX, selectedLevelY].prisonerRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].guardRates + GameCampaign.levelMap[selectedLevelX, selectedLevelY].alienRates)) * 125, 32), SpriteEffects.None, 0.5f); Rectangle contractBox = new Rectangle(1125, 525, 550, 200); drawBox(sb, contractBox, Color.Cyan, 2); sb.DrawString(Game1.tenbyFive24, "Contract", new Vector2(1325, 525), Color.Cyan); sb.DrawString(Game1.tenbyFive14, GameCampaign.levelMap[selectedLevelX, selectedLevelY].contract.contractMessage, new Vector2(1140, 565), Color.Cyan); sb.End(); }
public override void render(SpriteBatch sb) { AnimationLib.GraphicsDevice.Clear(Color.Black); sb.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null, null, Matrix.Identity); sb.DrawString(Game1.tenbyFive24, "Postcareer Statistics Report", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 100) - Game1.tenbyFive24.MeasureString("Postcareer Statistics Report") / 2, Color.White); Vector2 linesOffset = new Vector2(CampaignLobbyState.lineOffset); for (int i = -6; i < GlobalGameConstants.GameResolutionWidth / 16 + 8; i++) { drawLine(sb, new Vector2(i * 16, -16) + linesOffset, GlobalGameConstants.GameResolutionHeight + 32, (float)Math.PI / 2, new Color(1, 0, 1, 0.1f), 1.0f); } for (int i = -6; i < GlobalGameConstants.GameResolutionHeight / 16 + 8; i++) { drawLine(sb, new Vector2(-16, i * 16) + linesOffset, GlobalGameConstants.GameResolutionWidth + 32, 0, new Color(1, 0, 1, 0.1f), 1.0f); } sb.Draw(Game1.whitePixel, XboxTools.GetTitleSafeArea(AnimationLib.GraphicsDevice, 0.8f), new Color(0.0f, 0.75f, 1.0f, 0.1f)); if (isSignedIn) { drawBox(sb, new Rectangle(400, 166, 480, (32 * (10 + 1))), new Color(1, 1, 1, 0.5f), 2); drawBox(sb, new Rectangle(400, 166, 480, (32 * (highScores.Count + 1))), Color.White, 2); drawLine(sb, new Vector2(400 + 150, 166), (32 * (highScores.Count + 1)), (float)Math.PI / 2, Color.White, 2); drawLine(sb, new Vector2(400 + 150 + 132, 166), (32 * (highScores.Count + 1)), (float)Math.PI / 2, Color.White, 2); drawLine(sb, new Vector2(400 + 150 + 132 + 75, 166), (32 * (highScores.Count + 1)), (float)Math.PI / 2, Color.White, 2); drawLine(sb, new Vector2(400 + 150 + 132 + 75 + 75, 166), (32 * (highScores.Count + 1)), (float)Math.PI / 2, Color.White, 2); sb.DrawString(Game1.tenbyFive14, "NAME", new Vector2(400, 166), Color.White); sb.DrawString(Game1.tenbyFive14, "FATE", new Vector2(400 + 150, 166), Color.White); sb.DrawString(Game1.tenbyFive14, "FUND", new Vector2(400 + 150 + 132, 166), Color.White); sb.DrawString(Game1.tenbyFive14, "TIME", new Vector2(400 + 150 + 132 + 75, 166), Color.White); sb.DrawString(Game1.tenbyFive14, "RANK", new Vector2(400 + 150 + 132 + 75 + 75, 166), Color.White); for (int i = 0; i < 10; i++) { Color textColor = (i == newlyAddedScoreIndex ? Color.Lerp(Color.Cyan, Color.Orange, (float)((1 + Math.Sin(stateTimer / 300)) / 2)) : Color.White); if (i < highScores.Count) { drawLine(sb, new Vector2(400, 166 + 32 + (i * 32)), 480, 0.0f, Color.White, 2); sb.DrawString(Game1.tenbyFive14, highScores[i].playerName, new Vector2(400, 166 + ((i + 1) * 32)) + new Vector2(4), textColor); if (highScores[i].levelDiedAt == 0 && highScores[i].floorDiedOn == 1) { sb.DrawString(Game1.tenbyFive14, "DIED IN HANGAR", new Vector2(400 + 150, 166 + ((i + 1) * 32)) + new Vector2(4), textColor); } else if (highScores[i].levelDiedAt == 5 && highScores[i].floorDiedOn == 1) { sb.DrawString(Game1.tenbyFive14, "DIED AT BRIDGE", new Vector2(400 + 150, 166 + ((i + 1) * 32)) + new Vector2(4), textColor); } else { sb.DrawString(Game1.tenbyFive14, (highScores[i].completedGame ? "ESCAPED" : ("DIED AT " + highScores[i].levelDiedAt + (highScores[i].floorDiedOn == 0 ? 'A' : ((highScores[i].floorDiedOn == 1) ? 'B' : 'C')))), new Vector2(400 + 150, 166 + ((i + 1) * 32)) + new Vector2(4), (highScores[i].completedGame && i != newlyAddedScoreIndex) ? Color.Red : textColor); } sb.DrawString(Game1.tenbyFive14, highScores[i].coinCollected.ToString(), new Vector2(400 + 150 + 132, 166 + ((i + 1) * 32)) + new Vector2(4) + new Vector2(65 - Game1.tenbyFive14.MeasureString(highScores[i].coinCollected.ToString()).X, 0), textColor); sb.DrawString(Game1.tenbyFive14, highScores[i].secondsElapsed.ToString(), new Vector2(400 + 150 + 132 + 75, 166 + ((i + 1) * 32)) + new Vector2(4) + new Vector2(65 - Game1.tenbyFive14.MeasureString(highScores[i].secondsElapsed.ToString()).X, 0), textColor); sb.DrawString(Game1.tenbyFive14, (i + 1).ToString(), new Vector2(400 + 150 + 132 + 75 + 75, 166 + ((i + 1) * 32)) + new Vector2(4), textColor); } else { drawLine(sb, new Vector2(400, 166 + 32 + (i * 32)), 480, 0.0f, new Color(1, 1, 1, 0.25f), 2); sb.DrawString(Game1.tenbyFive14, "<NO DATA>", new Vector2(400 + (448 / 2), 166 + ((i + 1) * 32)) + new Vector2(4) - new Vector2(Game1.tenbyFive14.MeasureString("<NO DATA>").X, 0) / 2, new Color(1, 1, 1, 0.25f)); } } } else { sb.DrawString(Game1.tenbyFive14, "Please sign in to view your personal high scores.", (new Vector2(GlobalGameConstants.GameResolutionWidth, GlobalGameConstants.GameResolutionHeight) - Game1.tenbyFive14.MeasureString("Please sign in to view your personal high scores.")) / 2, Color.White); } if (stateTimer > 1500f) { #if XBOX sb.DrawString(Game1.tenbyFive24, "Press (A) to Continue", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 600) - Game1.tenbyFive24.MeasureString("Press (A) to Continue") / 2, new Color(1, 1, 1, (float)(Math.Sin(stateTimer / 300f) / 2) + 0.5f)); #elif WINDOWS sb.DrawString(Game1.tenbyFive24, "Press " + InputDevice2.KeyConfig.Confirm.ToString() + " to Continue", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 600) - Game1.tenbyFive24.MeasureString("Press " + InputDevice2.KeyConfig.Confirm.ToString() + " to Continue") / 2, new Color(1, 1, 1, (float)(Math.Sin(stateTimer / 300f) / 2) + 0.5f)); #endif } else if (stateTimer > 1300f) { #if XBOX sb.DrawString(Game1.tenbyFive24, "Press (A) to Continue", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 600) - Game1.tenbyFive24.MeasureString("Press (A) to Continue") / 2, Color.Lerp(Color.Transparent, Color.White, (stateTimer - 1300) / 200)); #elif WINDOWS sb.DrawString(Game1.tenbyFive24, "Press " + InputDevice2.KeyConfig.Confirm.ToString() + " to Continue", new Vector2(GlobalGameConstants.GameResolutionWidth / 2, 600) - Game1.tenbyFive24.MeasureString("Press " + InputDevice2.KeyConfig.Confirm.ToString() + " to Continue") / 2, Color.Lerp(Color.Transparent, Color.White, (stateTimer - 1300) / 200)); #endif } sb.End(); }
private void gameLogicUpdate(Microsoft.Xna.Framework.GameTime currentTime) { if (InputDevice2.IsPlayerButtonDown(InputDevice2.PPG_Player.Player_1, InputDevice2.PlayerButton.PauseButton) && !player1Dead) { state = LoadingState.LevelPaused; pauseDialogMinimumTime = 0; pauseMenuItem = 0; AudioLib.playSoundEffect("monitorOpening"); } if (GameCampaign.Player_Ammunition < 0) { GameCampaign.Player_Ammunition = 0; } if (GameCampaign.Player2_Ammunition < 0) { GameCampaign.Player2_Ammunition = 0; } if (GameCampaign.Player_Ammunition > 100) { GameCampaign.Player_Ammunition = 100; } if (GameCampaign.Player2_Ammunition > 100) { GameCampaign.Player2_Ammunition = 100; } if (messageQueueState == PushMessageQueueState.Wait) { if (pushMessageQueue.Count > 0) { messageQueueState = PushMessageQueueState.FadeIn; queueTimer = 0; } } else if (messageQueueState == PushMessageQueueState.ShowMessage) { queueTimer += currentTime.ElapsedGameTime.Milliseconds; if (queueTimer > 1000f + (25 * pushMessageQueue.Peek().Length)) { messageQueueState = PushMessageQueueState.FadeOut; queueTimer = 0; } } else if (messageQueueState == PushMessageQueueState.FadeIn) { queueTimer += currentTime.ElapsedGameTime.Milliseconds; if (queueTimer > 200f) { messageQueueState = PushMessageQueueState.ShowMessage; queueTimer = 0; } } else if (messageQueueState == PushMessageQueueState.FadeOut) { queueTimer += currentTime.ElapsedGameTime.Milliseconds; if (queueTimer > 200f) { messageQueueState = PushMessageQueueState.Wait; queueTimer = 0; pushMessageQueue.Dequeue(); } } for (int i = 0; i < entityList.Count; i++) { if (Vector2.Distance(cameraFocus.CenterPoint, entityList[i].CenterPoint) < 800 || entityList[i] is Player) { entityList[i].update(currentTime); } } elapsedLevelTime += currentTime.ElapsedGameTime.Milliseconds; particleSet.update(currentTime); #if WINDOWS entityList.RemoveAll(en => en.Remove_From_List == true); #elif XBOX XboxTools.RemoveAll(entityList, XboxTools.IsEntityToBeRemoved); XboxTools.RemoveAll(acidSpitters, XboxTools.IsEntityToBeRemoved); #endif if (cameraFocus != null) { int pointX = (int)cameraFocus.CenterPoint.X; int pointY = (int)cameraFocus.CenterPoint.Y; camera = Matrix.CreateTranslation(new Vector3((pointX * -1) + (GlobalGameConstants.GameResolutionWidth / 2), (pointY * -1) + (GlobalGameConstants.GameResolutionHeight / 2), 0.0f)); //camera = Matrix.CreateScale(0.1f); } gui.update(currentTime); if (player1Dead) { fadeOutTime += currentTime.ElapsedGameTime.Milliseconds; gui.BlackFadeOverlay = fadeOutTime / fadeOutDuration; if (fadeOutTime >= fadeOutDuration) { BackGroundAudio.stopAllSongs(); isComplete = true; } } if (endFlagReached) { BackGroundAudio.stopAllSongs(); isComplete = true; } #if DEBUG if (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.SwitchItem2) != InputDevice2.PlayerPad.NoPad) { showStats = true; } else { showStats = false; } #endif }