Beispiel #1
0
 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");
 }
Beispiel #2
0
        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;
        }