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(); } }
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); } }
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); }
//----------------------------------------------------------------------------- // 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(); }