Example #1
0
        public void Initialize(Vector2 startLocation)
        {
            IsDisposed = false;
            Location   = startLocation;

            DualMissile45 d45 = Level.Instance.DualMissile45Pool.New();

            d45.Initialize(new Vector2(20, 30), null);
            Guns.Add(d45);

            Missile ms = Level.Instance.MissilePool.New();

            ms.Initialize(new Vector2(21, 40), null);
            Guns.Add(ms);
        }
        public void AddGun(eEnemyGunType gunType)
        {
            switch (gunType)
            {
            case eEnemyGunType.AutoAim:
                AutoAim aa = Level.Instance.AutoAimPool.New();
                aa.Initialize(new Vector2(Animation.Width / 2 - 8, Animation.Height / 2 - 8), Owner);
                Guns.Add(aa);
                break;

            case eEnemyGunType.Boom1Enemy:
                Boom1 b = Level.Instance.BoomPool.New();
                b.Initialize(new Vector2(Animation.Width / 2 - 9, 0), Owner);
                Guns.Add(b);
                break;

            case eEnemyGunType.MG1:
                throw new Exception("MG Can not be added");

            case eEnemyGunType.Missile:
                Missile m = Level.Instance.MissilePool.New();
                m.Initialize(new Vector2(Animation.Width / 2 - 9, Animation.Height / 2 - 11), Owner);
                Guns.Add(m);
                break;

            case eEnemyGunType.DualMissile45:
                DualMissile45 dm = Level.Instance.DualMissile45Pool.New();
                dm.Initialize(new Vector2(Animation.Width / 2 - 11, 5), Owner);
                Guns.Add(dm);
                break;

            default:
                throw new CaseStatementMissingException();
            }
            UpdateAquiredGuns();
        }