Ejemplo n.º 1
0
 private void UpdateShooting()
 {
     if (Mouse.GetButton() == Mouse.Button.Left)
     {
         if (fireRate <= 0 && Ammo != 0 && !moving)
         {
             Vector2 vec2  = Mouse.GetIsoCoordinate() - position;
             double  angle = Math.Atan2(vec2.Y, vec2.X);
             Shoot(position + new Vector2(28, 28), angle);
             angle += Math.PI;
             if (angle < (Math.PI * 0.125) || angle > (Math.PI * 1.875))
             {
                 direction = Direction.West;
             }
             else if (angle < (Math.PI * 0.375))
             {
                 direction = Direction.NorthWest;
             }
             else if (angle < (Math.PI * 0.625))
             {
                 direction = Direction.North;
             }
             else if (angle < (Math.PI * 0.875))
             {
                 direction = Direction.NorthEast;
             }
             else if (angle < (Math.PI * 1.125))
             {
                 direction = Direction.East;
             }
             else if (angle < (Math.PI * 1.375))
             {
                 direction = Direction.SouthEast;
             }
             else if (angle < (Math.PI * 1.625))
             {
                 direction = Direction.South;
             }
             else if (angle < (Math.PI * 1.875))
             {
                 direction = Direction.SouthWest;
             }
             fireRate = BasicProjectile.GetRateOfFire();
             Ammo--;
             attacking = true;
         }
     }
     else
     {
         attacking = false;
     }
 }
Ejemplo n.º 2
0
 private void UpdateShooting(Vector2 vec2)
 {
     if (fireRate <= 0 && Ammo != 0)
     {
         double angle = Math.Atan2(vec2.Y, vec2.X);
         Shoot(position + new Vector2(28, 28), angle);
         angle += Math.PI;
         if (angle < (Math.PI * 0.125) || angle > (Math.PI * 1.875))
         {
             direction = Direction.West;
         }
         else if (angle < (Math.PI * 0.375))
         {
             direction = Direction.NorthWest;
         }
         else if (angle < (Math.PI * 0.625))
         {
             direction = Direction.North;
         }
         else if (angle < (Math.PI * 0.875))
         {
             direction = Direction.NorthEast;
         }
         else if (angle < (Math.PI * 1.125))
         {
             direction = Direction.East;
         }
         else if (angle < (Math.PI * 1.375))
         {
             direction = Direction.SouthEast;
         }
         else if (angle < (Math.PI * 1.625))
         {
             direction = Direction.South;
         }
         else if (angle < (Math.PI * 1.875))
         {
             direction = Direction.SouthWest;
         }
         fireRate = BasicProjectile.GetRateOfFire();
         Ammo--;
         attacking = true;
     }
 }