public static void Update() { Functions.KeyReading(); Functions.ApplyPause(!Globals.Collided); GameFunctions.JumpStage(); if (Globals.Collided) { if (!Globals.Landed) { Functions.ShowMessage(Globals.Stage.labelMessage, Color.Red, "Colidiu!\r\nPressione Enter para continuar..."); } else { Functions.ShowMessage(Globals.Stage.labelMessage, Color.LimeGreen, "Pousou!\r\nPressione Enter para continuar..."); } GameFunctions.ApplyPostStage(); } else { if (!Globals.EndedIntro) { GameFunctions.UpdateIntro(); } else { GameFunctions.UpdateGeneric(); Globals.UpdateLander.Invoke(); Globals.UpdateArea.Invoke(); Globals.UpdateOre.Invoke(); StageFunctions.UpdateStage(); GameFunctions.UpdateAfter(); } } }
public static bool VerifyCollision(ShipSprite sprite, Sprite lz, ref bool landed) { Globals.CollidedUp = false; Globals.CollidedDown = false; Globals.CollidedLeft = false; Globals.CollidedRight = false; if (Globals.CurrentStage != 0) { Globals.CollidedGround = GameFunctions.CollidedGround(); } if (Globals.CurrentStage != 0) { Globals.CollidedLZ = GameFunctions.CollidedLZ(ref landed); } else if (Globals.StageFreeCollision) { Globals.CollidedLZ = GameFunctions.CollidedLZ(ref landed); } if (Globals.CollidedGround || Globals.CollidedLZ) { Globals.Collided = true; Globals.SelectedShip.VerticalVelocity = 0; Globals.SelectedShip.HorizontalVelocity = 0; Globals.Stage.pictureBox2.Visible = false; Globals.Stage.pictureBox3.Visible = false; Globals.Stage.pictureBox4.Visible = false; Globals.Stage.pictureBox5.Visible = false; } else { Globals.Collided = false; } return(Globals.Collided); }
public static void ApplyPause(bool enabled) { if (enabled) { if (!Globals.EnterKeyPressed && Globals.EnterKeyPressedPrevious) { if (!Globals.Paused) { Globals.Paused = true; GameFunctions.SwitchTimers(false); currentMessage = Globals.Stage.labelMessage.Text; currentMessageColor = Globals.Stage.labelMessage.ForeColor; Functions.ShowMessage(Globals.Stage.labelMessage, Color.White, "Pause"); } else { Globals.Paused = false; GameFunctions.SwitchTimers(true); Functions.ShowMessage(Globals.Stage.labelMessage, currentMessageColor, currentMessage); } } } }
public static void ApplyPostStage() { Globals.RocketSFX.Stop(); Globals.FloatSFX.Stop(); Globals.SpecialSFX.Stop(); Globals.ExplosionSFX.Stop(); if (!Globals.EnterKeyPressed && Globals.EnterKeyPressedPrevious) { Globals.timerUpdate.Enabled = false; Globals.timerUpdatePaused.Enabled = false; Globals.timerUpdate.Stop(); Globals.timerUpdatePaused.Stop(); if (Globals.GameType == Enum.GameType.Arcade) { if (Globals.Landed) { GameFunctions.ChangeStage(); } else if (Globals.Collided) { if (Globals.ShipsLeft > -1) { Globals.ShipsLeft--; StageFunctions.InitializeStage(); } else { Globals.Stage.Visible = false; Globals.FormMain.Visible = true; Globals.ShipsLeft = 2; } } } else if (Globals.GameType == Enum.GameType.OreColleting) { if (Globals.Landed) { if (!Globals.Stage.pictureBoxRedOre.Visible && !Globals.Stage.pictureBoxGreenOre.Visible && !Globals.Stage.pictureBoxBlueOre.Visible) { Globals.OreCollected = true; GameFunctions.RecordFeatures(Enum.RecordType.OreCollected); Globals.Stage.Visible = false; Globals.ChooseStage = new FormChooseStage(); Globals.ChooseStage.Show(); } else { StageFunctions.InitializeStage(); } } else { StageFunctions.InitializeStage(); } } else { StageFunctions.InitializeStage(); } } }