示例#1
0
        public override void Execute()
        {
            // Let the gameObject deal with this...
            //this.pAlien.Remove();

            GameObject pA = (GameObject)this.pUFO;
            GameObject pB = (GameObject)Iterator.GetParent(pA);

            pA.Remove();

            // TODO:  update score - may need a better way (maybe an observer)
            SceneContext sc = SceneContext.GetInstance();

            sc.GetState().UpdateScore(this.pUFO.GetScore());

            // TODO: Splat Alien - needs a better way
            this.pSplat = new Splat(GameObject.Name.Splat, GameSprite.Name.SplatUFO, pUFO.x, pUFO.y);
            pSplat.ActivateCollisionSprite(this.pSB_Boxes);
            pSplat.ActivateGameSprite(this.pSB_Aliens);

            GameObject pSplatbRoot = GameObjectMan.Find(GameObject.Name.SplatRoot);

            Debug.Assert(pSplatbRoot != null);
            pSplatbRoot.Add(pSplat);

            TimerMan.Add(TimeEvent.Name.SplatRemoveUFO, new SplatRemoveEvent(this.pSplat), 0.5f);
        }
 public override void Notify()
 {
     if (scenePlay.numLives > 1)
     {
         TimerMan.Add(TimeEvent.Name.RecreateShip, new ReCreateShipEvent(), 0.7f);
     }
     else
     {
         SceneContext sc = SceneContext.GetInstance();
         sc.UpdateScreens();
     }
 }
示例#3
0
        public override void Notify()
        {
            SceneContext pSceneContext = SceneContext.GetInstance();

            Debug.Assert(pSceneContext != null);

            SceneState sceneState = pSceneContext.GetState();

            if (pSceneContext.poScenePlayer2.numLives > 1)
            {
                pSceneContext.SetState(SceneContext.Scene.Player2);
            }
        }
示例#4
0
        public override void Notify()
        {
            SceneContext pSceneContext = SceneContext.GetInstance();

            Debug.Assert(pSceneContext != null);

            SceneState sceneState = pSceneContext.GetState();

            if (sceneState.name == SceneContext.Scene.Over)
            {
                pSceneContext.SetState(SceneContext.Scene.Select);
            }
        }
        public override void Execute()
        {
            // Let the gameObject deal with this...
            //this.pAlien.Remove();

            GameObject pA = (GameObject)this.pAlien;
            GameObject pB = (GameObject)Iterator.GetParent(pA);

            pA.Remove();

            // TODO: Need a better way...
            if (privCheckParent(pB) == true)
            {
                GameObject pC = (GameObject)Iterator.GetParent(pB);
                pB.Remove();

                if (privCheckParent(pC) == true)
                {
                    //pC.Remove();

                    // Recreate Grid on last alien delete
                    AlienGrid pGrid = (AlienGrid)pC;
                    pGrid.GenerateAlien(GameObjectMan.GetActive());
                    pGrid.ResetSpeed();
                    this.scenePlay.AddLife();
                }
            }

            // TODO:  update score - may need a better way (maybe an observer)
            SceneContext sc = SceneContext.GetInstance();

            sc.GetState().UpdateScore(this.pAlien.scoreValue);


            // TODO: Splat Alien - needs a better way
            this.pSplat = new Splat(GameObject.Name.Splat, GameSprite.Name.SplatAlien, pAlien.x, pAlien.y);
            pSplat.ActivateCollisionSprite(this.pSB_Boxes);
            pSplat.ActivateGameSprite(this.pSB_Aliens);

            GameObject pSplatbRoot = GameObjectMan.Find(GameObject.Name.SplatRoot);

            Debug.Assert(pSplatbRoot != null);
            pSplatbRoot.Add(pSplat);

            TimerMan.Add(TimeEvent.Name.SplatRemoveAlien, new SplatRemoveEvent(this.pSplat), 0.5f);
        }
示例#6
0
        //-----------------------------------------------------------------------------
        // Game::LoadContent()
        //		Allows you to load all content needed for your engine,
        //	    such as objects, graphics, etc.
        //-----------------------------------------------------------------------------
        public override void LoadContent()
        {
            //---------------------------------------------------------------------------------------------------------
            // Setup Managers
            //---------------------------------------------------------------------------------------------------------

            TextureMan.Create(1, 1);
            ImageMan.Create(5, 2);
            //GameSpriteMan.Create(4, 2);
            BoxSpriteMan.Create(3, 1);
            //TimerMan.Create(3, 1);
            ProxySpriteMan.Create(10, 1);
            //GameObjectMan.Create(3, 1);
            ColPairMan.Create(1, 1);
            GlyphMan.Create(3, 1);
            FontMan.Create(1, 1);
            SoundEngineMan.Create(3, 1);

            // Player Unique Systems
            SpriteBatchMan.Create();
            GameSpriteMan.Create();
            GameObjectMan.Create();
            TimerMan.Create();
            DelayedObjectMan.Create();

            //---------------------------------------------------------------------------------------------------------
            // Load the Textures
            //---------------------------------------------------------------------------------------------------------

            TextureMan.Add(Texture.Name.Aliens, "Invaders_0.tga");
            TextureMan.Add(Texture.Name.Shield, "Birds_N_shield.tga");

            //---------------------------------------------------------------------------------------------------------
            // Create Images
            //---------------------------------------------------------------------------------------------------------

            // ----- Aliens -----
            ImageMan.Add(Image.Name.SquidOpen, Texture.Name.Aliens, 616, 28, 112, 112);
            ImageMan.Add(Image.Name.SquidClosed, Texture.Name.Aliens, 616, 182, 112, 112);
            ImageMan.Add(Image.Name.CrabOpen, Texture.Name.Aliens, 321, 28, 155, 112);
            ImageMan.Add(Image.Name.CrabClosed, Texture.Name.Aliens, 321, 182, 155, 112);
            ImageMan.Add(Image.Name.OctopusOpen, Texture.Name.Aliens, 56, 28, 167, 112);
            ImageMan.Add(Image.Name.OctopusClosed, Texture.Name.Aliens, 56, 182, 167, 112);

            // ----- UFO -----
            ImageMan.Add(Image.Name.UFO, Texture.Name.Aliens, 83, 503, 225, 98);

            // ----- Missile -----
            ImageMan.Add(Image.Name.Missile, Texture.Name.Aliens, 420, 700, 15, 55);

            // ----- Ship -----
            ImageMan.Add(Image.Name.Ship, Texture.Name.Aliens, 56, 336, 182, 112);

            // ----- Splats -----
            ImageMan.Add(Image.Name.AlienSplat, Texture.Name.Aliens, 574, 490, 182, 112);
            ImageMan.Add(Image.Name.MissleSplat, Texture.Name.Aliens, 405, 490, 112, 112);
            ImageMan.Add(Image.Name.BombSplat, Texture.Name.Aliens, 699, 798, 84, 112);
            ImageMan.Add(Image.Name.UFOSplat, Texture.Name.Aliens, 41, 643, 294, 112);
            ImageMan.Add(Image.Name.ShipSplat, Texture.Name.Aliens, 307, 335, 210, 112);

            // ----- Bombs -----
            ImageMan.Add(Image.Name.BombDragger, Texture.Name.Aliens, 280, 798, 42, 84);
            ImageMan.Add(Image.Name.BombZigZag, Texture.Name.Aliens, 574, 644, 42, 98);
            ImageMan.Add(Image.Name.BombRolling, Texture.Name.Aliens, 447, 797, 42, 98);
            ImageMan.Add(Image.Name.BombStraight, Texture.Name.Aliens, 377, 798, 14, 98);

            // ----- Shields -----
            ImageMan.Add(Image.Name.Brick, Texture.Name.Shield, 20, 210, 10, 5);
            ImageMan.Add(Image.Name.BrickLeft_Top0, Texture.Name.Shield, 15, 180, 10, 5);
            ImageMan.Add(Image.Name.BrickLeft_Top1, Texture.Name.Shield, 15, 185, 10, 5);
            ImageMan.Add(Image.Name.BrickLeft_Bottom, Texture.Name.Shield, 35, 215, 10, 5);
            ImageMan.Add(Image.Name.BrickRight_Top0, Texture.Name.Shield, 75, 180, 10, 5);
            ImageMan.Add(Image.Name.BrickRight_Top1, Texture.Name.Shield, 75, 185, 10, 5);
            ImageMan.Add(Image.Name.BrickRight_Bottom, Texture.Name.Shield, 55, 215, 10, 5);

            //---------------------------------------------------------------------------------------------------------
            // Create Scenes
            //---------------------------------------------------------------------------------------------------------
            pSceneContext = SceneContext.GetInstance();
        }