public Gun(ZombieGame game, Vector2 initPos) : base(game) { ZombieGame = game; Sprite = new Sprite(ZombieGame, "Pistol", initPos, 0.0f); Sprite.Origin = new Vector2(0, Sprite.Height / 2); Sprite.Rotation = 3 * MathHelper.PiOver2; Emitters = new List<Emitter>(); Emitters.Add(new Emitter(ZombieGame, 100, false, PISTOL_FIRE_RATE)); IsShooting = false; GunShotSound = ZombieGame.SfxMgr.Find("PistolShot"); }
public Gun(ZombieGame game, Vector2 initPos, string gunName, int damage, int maxAmmo, int ammo, int clipSize, float fireRate, float bulletSpeed, bool infiniteAmmo, float reloadingTime) : base(game) { ZombieGame = game; GunName = gunName; Damage = damage; InfiniteAmmo = infiniteAmmo; ReloadingTime = reloadingTime; MaxAmmo = maxAmmo; Ammo = ammo; ClipSize = clipSize; if (!InfiniteAmmo) { if (Ammo >= ClipSize) ClipAmmo = ClipSize; else ClipAmmo = Ammo; Ammo -= ClipAmmo; } else ClipAmmo = ClipSize; FireRate = fireRate; BulletSpeed = bulletSpeed; Sprite = new Sprite(ZombieGame, GunName, initPos, 0.0f); Sprite.Origin = new Vector2(0, Sprite.Height / 2); Sprite.Rotation = 3 * MathHelper.PiOver2; Emitters = new List<ParticleEmitter>(); IsShooting = false; IsReloading = false; GunShotSound = ZombieGame.SfxMgr.Find(GunName + "Shot"); GunReloadSound = ZombieGame.SfxMgr.Find(GunName + "Reload"); IsSelected = false; IsPickedUp = false; }