Ejemplo n.º 1
0
        public override void execute(float deltaTime)
        {
            ufo.launch = true;
            UFOSoundPlay ufoSound = new UFOSoundPlay(ufo);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateUFO, ufoSound, 0);
        }
        public override void notify()
        {
            Debug.WriteLine("BombShipCollideObserver");
            Bomb       bomb = (Bomb)this.colSubject.gameObjA;
            CannonShip ship = (CannonShip)this.colSubject.gameObjB;

            Debug.Assert(bomb != null);
            Debug.Assert(ship != null);

            //    bomb.reset();



            ship.setShipState(ShipManager.ShipStateType.End);

            ship.explode(Sprite.SpriteName.ShipExplosion);

            // ActivateBombSprite abs = new ActivateBombSprite(bomb);
            //  TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateBomb, abs, 0);
            ship.removeFromGameManager();
            ShipRemove objRemove = new ShipRemove(ship);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ShipRemove, objRemove, Unit.shipDeathAnimationTime);
            //reduce ship count
            PlayerManager.reduceShipCount();

            ActivateShip actiavteShip = new ActivateShip();

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ShipRemove, actiavteShip, Unit.shipDeathAnimationTime + 0.1f);
        }
Ejemplo n.º 3
0
        public override void notify()
        {
            Debug.WriteLine("Action after the Alien and Missile hits goes here");
            Debug.WriteLine("UFOMissileObserver Observer: {0} {1}", this.colSubject.gameObjA.cGameObjectName, this.colSubject.gameObjB.cGameObjectName);

            Missile missile = (Missile)this.colSubject.gameObjA;

            UFO ufo = (UFO)this.colSubject.gameObjB;


            missile.remove();
            ufo.explode(Sprite.SpriteName.AlienExplosion);
            //ufo.removeFromGameManager();
            //ufo.markForDeath();

            //Update Score
            PlayerManager.getCurrentPlayer().addScore(Unit.ufoScore);

            ufo.launch = false;
            UFODeathAnimation deathAni = new UFODeathAnimation(ufo);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.DeathAnimation, deathAni, Unit.ufoDeathAnimationTime);

            Random      random = new Random(DateTime.UtcNow.Millisecond);
            int         number = random.Next(Unit.UFOLaunchMin, Unit.UFOLaunchMax);
            UFOActivate ufoAct = new UFOActivate(ufo);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateUFO, ufoAct, number);
        }
Ejemplo n.º 4
0
 public override void execute(float deltaTime)
 {
     IrrKlang.ISound music = null;
     //MoveGrid
     grid.moveGrid();
     //Play Sound
     if (count == 0)
     {
         music = soundEngine.Play2D("fastinvader4.wav");
         count++;
     }
     else if (count == 1)
     {
         music = soundEngine.Play2D("fastinvader3.wav");
         count++;
     }
     else if (count == 2)
     {
         music = soundEngine.Play2D("fastinvader2.wav");
         count++;
     }
     else if (count == 3)
     {
         music = soundEngine.Play2D("fastinvader1.wav");
         count = 0;
     }
     music.Volume = 0.2f;
     TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, this, Unit.AlienGridMoveEventTime);
 }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
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);
     }
 }
Ejemplo n.º 7
0
 public override void notify()
 {
     if (PlayerManager.getCurrentPlayer().ships == 0)
     {
         // GameManager.setGameState(new GameEndState());
         // GameManager.load();
         ActivateGameEnd abs6 = new ActivateGameEnd();
         TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs6, Unit.gameFreezeTime);
     }
 }
 public override void execute(float deltaTime)
 {
     associateBombs();
     if (bomb == null)
     {
         Debug.WriteLine("bonb null");
         TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, this, deltaTime);
     }
     else
     {
         bomb.active = true;
     }
     //  TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateBomb, this, deltaTime);
 }
Ejemplo n.º 9
0
        public void loadUFO()
        {
            UFOFactory ufoFactory = FactoryManager.getUfoFactry();
            UFORoot    ufoRoot    = (UFORoot)ufoFactory.createUFO(UFO.UFOType.UFORoot, GameObject.GameObjectName.UFORoot, 0, 0, 0);

            ufoFactory.setParent(ufoRoot);

            UFO         ufo    = ufoFactory.createUFO(UFO.UFOType.AlienUFO, GameObject.GameObjectName.AlienUFO, 1, Unit.ufoPosX, Unit.ufoPosY);
            Random      random = new Random(DateTime.UtcNow.Millisecond);
            int         number = random.Next(1, 40);
            UFOActivate ufoAct = new UFOActivate(ufo);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateUFO, ufoAct, number);
        }
Ejemplo n.º 10
0
        public void loadBombs()
        {
            BombFactory bombFactory = FactoryManager.getBombFactry();
            Bomb        bombRoot    = bombFactory.createBomb(Bomb.BombType.BombRoot, GameObject.GameObjectName.BombRoot);

            bombFactory.setParent(bombRoot);

            Bomb ZigZag = null;

            ZigZag = bombFactory.createBomb(Bomb.BombType.ZigZag, GameObject.GameObjectName.Bomb, 0, 996, 1024);
            ActivateBombSprite abs = new ActivateBombSprite(ZigZag);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs, 1);

            Bomb FlippingBomb = null;

            FlippingBomb = bombFactory.createBomb(Bomb.BombType.Flipping, GameObject.GameObjectName.Bomb, 1, 996, 1024);
            ActivateBombSprite abs2 = new ActivateBombSprite(FlippingBomb);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs2, 3);

            Bomb plungerBomb = null;

            plungerBomb = bombFactory.createBomb(Bomb.BombType.Plunger, GameObject.GameObjectName.Bomb, 2, 996, 1024);
            ActivateBombSprite abs3 = new ActivateBombSprite(plungerBomb);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs3, 5);

            Bomb ZigZag1 = null;

            ZigZag1 = bombFactory.createBomb(Bomb.BombType.ZigZag, GameObject.GameObjectName.Bomb, 0, 996, 1024);
            ActivateBombSprite abs4 = new ActivateBombSprite(ZigZag1);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs4, 6);

            Bomb FlippingBomb1 = null;

            FlippingBomb1 = bombFactory.createBomb(Bomb.BombType.Flipping, GameObject.GameObjectName.Bomb, 1, 996, 1024);
            ActivateBombSprite abs5 = new ActivateBombSprite(FlippingBomb1);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs5, 7);

            Bomb plungerBomb1 = null;

            plungerBomb1 = bombFactory.createBomb(Bomb.BombType.Plunger, GameObject.GameObjectName.Bomb, 2, 996, 1024);
            ActivateBombSprite abs6 = new ActivateBombSprite(plungerBomb1);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs6, 8);
        }
        public override void notify()
        {
            TimerManager.addDelta(delta);
            FactoryManager.getBombFactry().removeChildren();
            UFO ufo = (UFO)FactoryManager.getUfoFactry().cParent.pChild;

            if (ufo.launch)
            {
                ufo.reset();
                Random      random = new Random(DateTime.UtcNow.Millisecond);
                int         number = random.Next(1, 40);
                UFOActivate ufoAct = new UFOActivate(ufo);
                TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateUFO, ufoAct, number);
            }
            //   Game.freezeGame();
        }
        public override void notify()
        {
            Debug.WriteLine("Inside BombCollideObserver");
            int random = Utilty.getRandomNum(5, 10);

            Bomb bomb = (Bomb)this.colSubject.gameObjA;

            // bomb.reset();
            // Debug.Assert(bomb != null);


            bomb.remove();
            ActivateBombSprite abs = new ActivateBombSprite();

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateGameEnd, abs, random);
        }
Ejemplo n.º 13
0
        // Move to the next image and if at end, start from the first image again
        public override void execute(float deltaTime)
        {
            ImageHolder imageHolder = null;

            if (cCurrImg.pSNext != null)
            {
                imageHolder = (ImageHolder)cCurrImg.pSNext;
            }
            else
            {
                imageHolder = (ImageHolder)cImgList;
            }
            cCurrImg = imageHolder;

            this.cSpriteGame.changeImage(imageHolder.cImage);

            // Add itself back to timer
            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, this, Unit.AlienImageSwapEventTime);
        }
Ejemplo n.º 14
0
        public void loadAnimationsTimer()
        {
            AlienImageAnimation squidSprite = new AlienImageAnimation(Sprite.SpriteName.Squid);

            squidSprite.attachImg(Image.ImageName.SquidO);
            squidSprite.attachImg(Image.ImageName.SquidC);

            AlienImageAnimation crabSprite = new AlienImageAnimation(Sprite.SpriteName.Crab);

            crabSprite.attachImg(Image.ImageName.CrabO);
            crabSprite.attachImg(Image.ImageName.CrabC);

            AlienImageAnimation octopusSprite = new AlienImageAnimation(Sprite.SpriteName.Octopus);

            octopusSprite.attachImg(Image.ImageName.OctopusO);
            octopusSprite.attachImg(Image.ImageName.OctopusC);


            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, squidSprite, Unit.AlienImageSwapEventTime);
            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, crabSprite, Unit.AlienImageSwapEventTime);
            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, octopusSprite, Unit.AlienImageSwapEventTime);

            // Bomb Animations

            AlienImageAnimation zigZagSprite = new AlienImageAnimation(Sprite.SpriteName.ZigZag);

            zigZagSprite.attachImg(Image.ImageName.ZigZagU);
            zigZagSprite.attachImg(Image.ImageName.ZigZagD);

            AlienImageAnimation flippingSprite = new AlienImageAnimation(Sprite.SpriteName.Flipping);

            flippingSprite.attachImg(Image.ImageName.FlippingU);
            flippingSprite.attachImg(Image.ImageName.FlippingD);

            AlienImageAnimation plungerSprite = new AlienImageAnimation(Sprite.SpriteName.Plunger);

            plungerSprite.attachImg(Image.ImageName.PlungerU);
            plungerSprite.attachImg(Image.ImageName.PlungerD);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, zigZagSprite, Unit.bombImageSwapTime);
            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, flippingSprite, Unit.bombImageSwapTime);
            TimerManager.sortedAdd(TimerEvent.TimerEventName.SpriteAnimation, plungerSprite, Unit.bombImageSwapTime);
        }
Ejemplo n.º 15
0
        public override void notify()
        {
            Debug.WriteLine("Action after the Alien and Missile hits goes here");
            Debug.WriteLine("AlienMissile Observer: {0} {1}", this.colSubject.gameObjA.cGameObjectName, this.colSubject.gameObjB.cGameObjectName);

            Alien   a       = (Alien)this.colSubject.gameObjA;
            Missile missile = (Missile)this.colSubject.gameObjB;

            missile.remove();
            a.explode(Sprite.SpriteName.AlienExplosion);
            a.markForDeath();

            //Update Score

            if (a.cGameObjectName == GameObject.GameObjectName.Crab)
            {
                PlayerManager.getCurrentPlayer().addScore(Unit.crabPoints);
            }
            else if (a.cGameObjectName == GameObject.GameObjectName.Squid)
            {
                PlayerManager.getCurrentPlayer().addScore(Unit.squidPoints);
            }
            else if (a.cGameObjectName == GameObject.GameObjectName.Octopus)
            {
                PlayerManager.getCurrentPlayer().addScore(Unit.octopusPoints);
            }

            AlienDeathAnimation deathAni = new AlienDeathAnimation(a);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.DeathAnimation, deathAni, Unit.alienDeathAnimationTime);

            //Check Columns for death
            Column column = (Column)a.pParent;

            column.markForDeathCheck();

            //Check Grids for death
            AlienGrid grid = (AlienGrid)column.pParent;

            grid.chehckForEmpty();
        }
Ejemplo n.º 16
0
        public override void notify()
        {
            UFO ufo = null;

            if (this.colSubject.gameObjA.cGameObjectName == GameObject.GameObjectName.AlienUFO)
            {
                ufo = (UFO)this.colSubject.gameObjA;
            }
            else
            {
                ufo = (UFO)this.colSubject.gameObjB;
            }
            Random random = new Random(DateTime.UtcNow.Millisecond);
            int    number = random.Next(Unit.UFOLaunchMin, Unit.UFOLaunchMax);

            ufo.reset();
            ufo.launch = false;
            UFOActivate ufoAct = new UFOActivate(ufo);

            TimerManager.sortedAdd(TimerEvent.TimerEventName.ActivateUFO, ufoAct, number);
        }