Example #1
0
        public void loadAliens()
        {
            AlienFactory alienFactory = FactoryManager.getAlienFactry();
            AlienGrid    alienGrid    = (AlienGrid)alienFactory.createAlien(Alien.AlienType.AlienGrid, GameObject.GameObjectName.AlienGrid, 0);

            alienFactory.setParent(alienGrid);

            for (int i = 0; i < 11; i++)
            {
                alienFactory.setParent(alienGrid);

                Alien pColumn = alienFactory.createAlien(Alien.AlienType.Column, GameObject.GameObjectName.Column, i + 1, 0.0f, 0.0f);

                //set Parent
                alienFactory.setParent(pColumn);
                float x = Unit.alienPosX;
                float y = Unit.alienPosY;

                alienFactory.createAlien(Alien.AlienType.Crab, GameObject.GameObjectName.Crab, i + 2, x + i * 50.0f, y);

                alienFactory.createAlien(Alien.AlienType.Squid, GameObject.GameObjectName.Squid, i + 3, x + i * 50.0f, y - 60);

                alienFactory.createAlien(Alien.AlienType.Squid, GameObject.GameObjectName.Squid, i + 4, x + i * 50.0f, y - 120);

                alienFactory.createAlien(Alien.AlienType.Octopus, GameObject.GameObjectName.Octopus, i + 5, x + i * 50.0f, y - 180);

                alienFactory.createAlien(Alien.AlienType.Octopus, GameObject.GameObjectName.Octopus, i + 6, x + i * 50.0f, y - 240);
            }
            IrrKlang.ISoundEngine sndEngine    = FactoryManager.getSoundEngine();
            AlienGridAnimation    alienGridAni = new AlienGridAnimation(alienGrid, sndEngine);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, alienGridAni, Unit.AlienGridMoveEventTime);
        }
Example #2
0
 public override void execute(float deltaTime)
 {
     IrrKlang.ISoundEngine soundEngine = FactoryManager.getSoundEngine();
     if (ufo.launch)
     {
         IrrKlang.ISound music = soundEngine.Play2D("ufo_lowpitch.wav");
         music.Volume = 0.2f;
         TimerManager.sortedAdd(TimerEvent.TimerEventName.UFOPlaySound, this, 2.2f);
     }
 }
Example #3
0
        public override void shoot(CannonShip ship)
        {
            // Debug.WriteLine("ShipReadyState shoot");
            StraightMissile missile = ShipManager.activateMissile();

            Debug.Assert(missile != null);

            missile.x = ship.x;
            missile.y = ship.y;
            missile.launchMissile();

            IrrKlang.ISoundEngine sndEngine = FactoryManager.getSoundEngine();
            IrrKlang.ISound       music     = sndEngine.Play2D("shoot.wav");
            music.Volume = 0.2f;

            this.handle(ship);
        }
Example #4
0
        public void activateCollisions()
        {
            IrrKlang.ISoundEngine sndEngine = FactoryManager.getSoundEngine();
            CollisionPair         Bomb_Ship = CollisionPairManager.add(CollisionPair.CollisionPairName.Bomb_Ship, GameObjectNodeManager.find(GameObject.GameObjectName.BombRoot), GameObjectNodeManager.find(GameObject.GameObjectName.ShipRoot));

            Bomb_Ship.attach(new GameEndObserver());
            Bomb_Ship.attach(new ShipDeathFreezeObserver(Unit.gameFreezeTime));
            Bomb_Ship.attach(new SoundObserver(sndEngine, "Explosion.wav"));
            Bomb_Ship.attach(new BombCollideObserver());
            Bomb_Ship.attach(new BombShipCollideObserver());

            CollisionPair Alien_Missile = CollisionPairManager.add(CollisionPair.CollisionPairName.Alien_Missile, GameObjectNodeManager.find(GameObject.GameObjectName.AlienGrid), GameObjectNodeManager.find(GameObject.GameObjectName.MissileRoot));

            Alien_Missile.attach(new AlienMissileObserver());
            Alien_Missile.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Alien_Missile.attach(new ShipReadyObserver());

            CollisionPair Alien_Wall = CollisionPairManager.add(CollisionPair.CollisionPairName.Alien_Wall, GameObjectNodeManager.find(GameObject.GameObjectName.AlienGrid), GameObjectNodeManager.find(GameObject.GameObjectName.WallRoot));

            Alien_Wall.attach(new AlienWallObserver());
            // Alien_Wall.attach(new SoundObserver(sndEngine, "Explosion.wav"));

            CollisionPair Alien_Shield = CollisionPairManager.add(CollisionPair.CollisionPairName.Alien_Shield, GameObjectNodeManager.find(GameObject.GameObjectName.AlienGrid), GameObjectNodeManager.find(GameObject.GameObjectName.ShieldGrid));

            Alien_Shield.attach(new ShieldHitObserver());


            CollisionPair Alien_Ship = CollisionPairManager.add(CollisionPair.CollisionPairName.Alien_Ship, GameObjectNodeManager.find(GameObject.GameObjectName.AlienGrid), GameObjectNodeManager.find(GameObject.GameObjectName.ShipRoot));

            Alien_Ship.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Alien_Ship.attach(new GameOverObserver());
            Alien_Ship.attach(new GameEndObserver());

            CollisionPair Missile_Wall = CollisionPairManager.add(CollisionPair.CollisionPairName.Missile_Wall, GameObjectNodeManager.find(GameObject.GameObjectName.MissileRoot), GameObjectNodeManager.find(GameObject.GameObjectName.WallRoot));

            Missile_Wall.attach(new ShipReadyObserver());
            //   Missile_Wall.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Missile_Wall.attach(new MissileRemoveObserver());

            CollisionPair Missile_Shield = CollisionPairManager.add(CollisionPair.CollisionPairName.Missile_Shield, GameObjectNodeManager.find(GameObject.GameObjectName.MissileRoot), GameObjectNodeManager.find(GameObject.GameObjectName.ShieldGrid));

            Missile_Shield.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Missile_Shield.attach(new ShieldHitObserver());
            Missile_Shield.attach(new ShieldMissileObserver());
            Missile_Shield.attach(new ShipReadyObserver());

            CollisionPair Ship_Wall = CollisionPairManager.add(CollisionPair.CollisionPairName.Ship_Wall, GameObjectNodeManager.find(GameObject.GameObjectName.ShipRoot), GameObjectNodeManager.find(GameObject.GameObjectName.WallRoot));

            //   Ship_Wall.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Ship_Wall.attach(new ShipWallObserver());

            CollisionPair Bomb_Wall = CollisionPairManager.add(CollisionPair.CollisionPairName.Bomb_Wall, GameObjectNodeManager.find(GameObject.GameObjectName.BombRoot), GameObjectNodeManager.find(GameObject.GameObjectName.WallRoot));

            //  Bomb_Wall.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Bomb_Wall.attach(new BombCollideObserver());

            CollisionPair Bomb_Missile = CollisionPairManager.add(CollisionPair.CollisionPairName.Bomb_Missile, GameObjectNodeManager.find(GameObject.GameObjectName.BombRoot), GameObjectNodeManager.find(GameObject.GameObjectName.MissileRoot));

            Bomb_Missile.attach(new BombCollideObserver());
            //  Bomb_Missile.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Bomb_Missile.attach(new ShipReadyObserver());
            Bomb_Missile.attach(new MissileRemoveObserver());

            CollisionPair Bomb_Shield = CollisionPairManager.add(CollisionPair.CollisionPairName.Bomb_Shield, GameObjectNodeManager.find(GameObject.GameObjectName.BombRoot), GameObjectNodeManager.find(GameObject.GameObjectName.ShieldGrid));

            Bomb_Shield.attach(new BombCollideObserver());
            //   Bomb_Shield.attach(new SoundObserver(sndEngine, "invaderkilled.wav"));
            Bomb_Shield.attach(new ShieldHitObserver());

            CollisionPair Misisle_UFO = CollisionPairManager.add(CollisionPair.CollisionPairName.Misisle_UFO, GameObjectNodeManager.find(GameObject.GameObjectName.MissileRoot), GameObjectNodeManager.find(GameObject.GameObjectName.UFORoot));

            Misisle_UFO.attach(new UFOMissileObserver());
            Misisle_UFO.attach(new ShipReadyObserver());
            Misisle_UFO.attach(new SoundObserver(sndEngine, "ufo_highpitch.wav"));
            // Misisle_UFO.attach(new UFOLaunchObserver());

            CollisionPair UFO_Wall = CollisionPairManager.add(CollisionPair.CollisionPairName.UFO_Wall, GameObjectNodeManager.find(GameObject.GameObjectName.UFORoot), GameObjectNodeManager.find(GameObject.GameObjectName.WallRoot));

            UFO_Wall.attach(new UFOLaunchObserver());
        }