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; } }
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; } }