Beispiel #1
0
        /// <summary>
        /// Laser update logic
        /// </summary>
        public void LaserUpdate()
        {
            if (!HasLaser)
            {
                return;
            }

            if (InputManager.GetButtonDown("Fire"))
            {
                LaserReference.Activate();
                GameManager.LoopSFX("Laser");
            }
            if (InputManager.GetButtonUp("Fire"))
            {
                LaserReference.Deactivate();
                GameManager.StopSFX("Laser");
            }


            if (direction == Direction.Right)
            {
                LaserReference.Offset = new Point(3 * Location.Width / 4, Location.Height / 2);
            }
            else
            {
                LaserReference.Offset = new Point(-LaserReference.Location.Width + Location.Width / 4, Location.Height / 2);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Determines if player is dead
        /// </summary>
        public void CheckIfDead()
        {
            //If we're out of health, or below level bounds
            if (Health <= 0 || Location.Y - Location.Height > GameManager.MinLevelLocation.Y)
            {
                state = PlayerState.IsDead;
                //Freeze player
                Velocity     = Vector2.Zero;
                Acceleration = Vector2.Zero;

                //Play a sound effect
                GameManager.PlaySFX("Hurt");

                //Turn off the laser
                LaserReference.Deactivate();
                GameManager.StopSFX("Laser");

                //Show a message
                GameManager.Get("GameoverText").Activate();
                GameManager.Get("GameoverInstr").Activate();
                //Stop everyone else from updating.
                GameManager.StopNonUIUpdates();
            }
        }