public static void ActivateBomb(AlienColumn pBombOwner) { pBombOwner.pBomb.delta = 1.5f; RandomizeBombType(pBombOwner.pBomb); pBombOwner.pBomb.bMarkForDeath = false; pBombOwner.pBomb.pStrategy.Reset(pBombOwner.pBomb.y); }
public override void Remove() { // Keenan(delete.E) // Since the Root object is being drawn // 1st set its size to zero this.poColObj.poColRect.Set(0, 0, 0, 0); //base.Update(); this.pProxySprite.Set(GameSprite.Name.NullObject); AlienColumn pParent = (AlienColumn)this.pParent; this.y = pParent.GetTop(); //// Update the parent (missile root) //GameObject pParent = (GameObject)this.pParent; //remove missile from composite... missile only has one parent..need to find root for others? //pParent.Remove(this); //pParent.Update(); // Now remove it //base.Remove(); //pParent.Remove(); }
public void dropBomb() { AlienColumn pAlienColumn = (AlienColumn)this.poHead; while (pAlienColumn != null) { if (this.randNum.Next(10) >= 10 - this.level) { AlienCategory pAlien = (AlienCategory)pAlienColumn.poHead; if (pAlien != null) { // get last alien of column while (pAlien.pNext != null) { pAlien = (AlienCategory)pAlien.pNext; } pAlien.dropBomb(); } } pAlienColumn = (AlienColumn)pAlienColumn.pNext; } }
public override void VisitColumn(AlienColumn a) { //now Alien Column v ShieldRoot GameObject pGameObject = (GameObject)Iterator.GetChild(a); ColPair.Collide(pGameObject, this); }
public void ResetAliens() { this.CurrentMoveRate = this.StartingMoveRate; this.AlienCount = 55; ForwardIterator pFor = new ForwardIterator(this); GameObject pGameObj; GameObject pParent; Component pNode = pFor.First(); while (!pFor.IsDone()) { pGameObj = (GameObject)pNode; pGameObj.pProxySprite.Set(pGameObj.pSpriteName); pGameObj.poColObj.poColRect.Set(pGameObj.pProxySprite.pSprite.GetScreenRect()); pGameObj.ResetLocation(); pGameObj.bMarkForDeath = false; if (pGameObj.name == Name.AlienColumn) { AlienColumn ptemp = (AlienColumn)pGameObj; ptemp.pBomb.ResetBomb(); } pParent = (GameObject)pGameObj.pParent; if (pParent != null) { pParent.Update(); } pNode = pFor.Next(); } }
// need to test this public override void Execute(float deltaTime) { AlienColumn pSafety = (AlienColumn)Iterator.GetChild(this.pAlienGroup); if (pSafety != null) { AlienColumn pNode = pSafety; Random rNum = new Random(); float ColNum = rNum.Next(0, 11); int count = 0; while (pNode != null) { //check to shoot bomb if (pNode.GetColIndex() == ColNum) { float minX = pNode.GetColObject().poColRect.minX; float minY = pNode.GetColObject().poColRect.minY; pNode.ActivateBomb(minX, minY); TimerMan.Add(TimeEvent.Name.ColumnShoot, this, deltaTime); break; } //might get some random or extra bomb drops if (ColNum == count) { float minX = pNode.GetColObject().poColRect.minX; float minY = pNode.GetColObject().poColRect.minY; pNode.ActivateBomb(minX, minY); TimerMan.Add(TimeEvent.Name.ColumnShoot, this, deltaTime); break; } //at the last node and its not the column to shoot bomb if (pNode.pNext == null && pNode.GetColIndex() != ColNum) { //go back to the front of the list pNode = pSafety; count++; continue; } pNode = (AlienColumn)pNode.pNext; count++; } } else { // do nothing } }
//---------------------------------------------------------------------------------- // Methods //---------------------------------------------------------------------------------- public GameObject Create(GameObject.Name theName, AlienCategory.Type type, float posx = 0.0f, float posy = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.AlienGrid: pGameObj = new AlienGrid(theName, GameSprite.Name.NullObject, posx, posy); ((AlienGrid)pGameObj).SetCanDropBombs(true); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(theName, GameSprite.Name.NullObject, posx, posy); break; case AlienCategory.Type.Alien: pGameObj = new AlienGO(theName, GameSprite.Name.Alien, 20, posx, posy); break; case AlienCategory.Type.Octopus: pGameObj = new AlienGO(theName, GameSprite.Name.Octopus, 10, posx, posy); break; case AlienCategory.Type.Squid: pGameObj = new AlienGO(theName, GameSprite.Name.Squid, 30, posx, posy); break; case AlienCategory.Type.UFOGrid: pGameObj = new AlienGrid(theName, GameSprite.Name.NullObject, posx, posy); ((AlienGrid)pGameObj).SetCanDropBombs(false); break; case AlienCategory.Type.Saucer: pGameObj = new AlienGO(theName, GameSprite.Name.Saucer, 100, posx, posy); break; default: Debug.WriteLine("Choose the Space Invader you want by name."); Debug.Assert(false); break; } // add it to the Game Object Manager Debug.Assert(pGameObj != null); // Should only attach root elements in the Scene // attach to the group pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pGameObj); }
public override void Execute(float deltaTime) { int bombStyle = pRandom.Next(0, 3); int numCol = 0; AlienColumn pColumn = (AlienColumn)this.pGridHead.poHead; while (pColumn != null) { numCol++; pColumn = (AlienColumn)pColumn.pNext; } int col = pRandom.Next(0, numCol); pColumn = (AlienColumn)this.pGridHead.poHead; while (col > 0) { col--; pColumn = (AlienColumn)pColumn.pNext; } if (pColumn != null) { GameObject pAlien = (GameObject)pColumn.poLast; Bomb pBomb; switch (bombStyle) { case 0: pBomb = BombManager.GetZigZagFall(pAlien.x, pAlien.y); break; case 1: pBomb = BombManager.GetStraightFall(pAlien.x, pAlien.y); break; case 2: pBomb = BombManager.GetCrossFall(pAlien.x, pAlien.y); break; default: Debug.Assert(false); break; } } float nextDeltaTime = pRandom.Next(5, 20); nextDeltaTime /= 10; TimerManager.Add(TimeEvent.Name.SpawnBomb, this, nextDeltaTime); }
public Bomb(AlienColumn pOwner) : base(GameObject.Name.Bomb, GameSprite.Name.NullObject) { this.x = pOwner.x; this.y = pOwner.GetBottom(); this.delta = 0.0f; this.pOwner = pOwner; this.pDaggers = new FallDagger(); this.pZigZag = new FallZigZag(); this.pStraight = new FallStraight(); this.pStrategy = null; this.poColObj.pColSprite.SetLineColor(1, 1, 0); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Green: pGameObj = new GreenAlien(GameObject.Name.GreenAlien, GameSprite.Name.GreenAlien, posX, posY); break; case AlienCategory.Type.Red: pGameObj = new RedAlien(GameObject.Name.RedAlien, GameSprite.Name.RedAlien, posX, posY); break; case AlienCategory.Type.White: pGameObj = new WhiteAlien(GameObject.Name.WhiteAlien, GameSprite.Name.WhiteAlien, posX, posY); break; case AlienCategory.Type.Yellow: pGameObj = new YellowAlien(GameObject.Name.YellowAlien, GameSprite.Name.YellowAlien, posX, posY); break; case AlienCategory.Type.Blue: pGameObj = new BlueAlien(GameObject.Name.BlueAlien, GameSprite.Name.BlueAlien, posX, posY); break; case AlienCategory.Type.Grid: pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, posX, posY); break; default: // something is wrong Debug.Assert(false); break; } Debug.Assert(pGameObj != null); pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pBoxSpriteBatch); GameObjectMan.Attach(pGameObj); return(pGameObj); }
public static void SetState(StateName inState, AlienColumn pCol) { BombManager pBombMan = BombManager.GetInstance(); Debug.Assert(pBombMan != null); switch (inState) { case StateName.Ready: pCol.state = pReadyState; break; case StateName.BombDropping: pCol.state = pFallingState; break; } }
public GameObject Create(GameObject.Name name, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (name) { case GameObject.Name.PurpleOctopus: pGameObj = new PurpleOctopus(GameObject.Name.PurpleOctopus, GameSprite.Name.PurpleOctopus, posX, posY); break; case GameObject.Name.BlueCrab: pGameObj = new BlueCrab(GameObject.Name.BlueCrab, GameSprite.Name.BlueCrab, posX, posY); break; case GameObject.Name.GreenSquid: pGameObj = new GreenSquid(GameObject.Name.GreenSquid, GameSprite.Name.GreenSquid, posX, posY); break; case GameObject.Name.OrangeSaucer: pGameObj = new OrangeSaucer(GameObject.Name.OrangeSaucer, GameSprite.Name.OrangeSaucer, posX, posY); break; case GameObject.Name.AlienColumn: pGameObj = new AlienColumn(GameObject.Name.AlienColumn, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case GameObject.Name.AlienGrid: pGameObj = new AlienGrid(GameObject.Name.AlienGrid, GameSprite.Name.NullObject, 0.0f, 0.0f); break; default: // something is wrong Debug.Assert(false); break; } Debug.Assert(pGameObj != null); // Attached to Group pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pGameObj); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Squid: pGameObj = new SquidAlien(name, GameSprite.Name.SquidOpen, posX, posY); break; case AlienCategory.Type.Crab: pGameObj = new CrabAlien(name, GameSprite.Name.CrabOpen, posX, posY); break; case AlienCategory.Type.Octopus: pGameObj = new OctopusAlien(name, GameSprite.Name.OctopusOpen, posX, posY); break; case AlienCategory.Type.Grid: pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f); break; default: // something is wrong Debug.Assert(false); break; } // add it to the gameObjectManager Debug.Assert(pGameObj != null); //GameObjectMan.Attach(pGameObj); // Attached to Group pGameObj.ActivateGameSprite(this.pSpriteBatch); pGameObj.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pGameObj); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, GameObject pContainer = null, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Squid: pGameObj = new Squid(GameObject.Name.Squid, GameSprite.Name.Squid, posX, posY); AlienCategory pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Crab: pGameObj = new Crab(GameObject.Name.Crab, GameSprite.Name.Crab, posX, posY); pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Octopus: pGameObj = new Octopus(GameObject.Name.Octopus, GameSprite.Name.Octopus, posX, posY); pAlienCategory = (AlienCategory)pGameObj; pAlienCategory.SetState(AlienMan.State.Ready); break; case AlienCategory.Type.Group: pGameObj = new AlienGroup(name, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, posX, posY); break; default: Debug.Assert(false); break; } // Attached to Group this.AttachTo(pGameObj, pContainer); return(pGameObj); }
public GameObject Create(AlienCategory.Type type, GameObject.Name gameName, float posX = 0.0f, float posY = 0.0f) { GameObject pAlien = null; switch (type) { case AlienCategory.Type.Squid: pAlien = new Squid(gameName, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Crab: pAlien = new Crab(gameName, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Octopus: pAlien = new Octopus(gameName, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.AlienColumn: pAlien = new AlienColumn(gameName, GameSprite.Name.NullObject, posX, posY); break; case AlienCategory.Type.AlienGrid: pAlien = new AlienGrid(gameName, GameSprite.Name.NullObject, posX, posY); break; default: // something is wrong Debug.Assert(false); break; } // add to the tree this.pTree.Add(pAlien); // Attached to Group pAlien.ActivateGameSprite(this.pSpriteBatch); pAlien.ActivateCollisionSprite(this.pCollisionSpriteBatch); return(pAlien); }
public static Bomb CreateBomb(AlienColumn pOwner) { // each column owns one instance of a bomb that is reused. // create a null bomb Bomb pBomb = new Bomb(pOwner); SpriteBatch pSB_Aliens = SpriteBatchManager.Find(SpriteBatch.Name.Aliens); SpriteBatch pSB_Boxes = SpriteBatchManager.Find(SpriteBatch.Name.Boxes); pBomb.ActivateCollisionSprite(pSB_Boxes); pBomb.ActivateGameSprite(pSB_Aliens); GameObject pBombRoot = GameObjectManager.Find(GameObject.Name.BombRoot); Debug.Assert(pBombRoot != null); // Add to GameObject Tree - {update and collisions} pBombRoot.Add(pBomb); return(pBomb); }
//------------------------------------------------------------------------------- // Methods //------------------------------------------------------------------------------- public GameObject create(GameObject.Name objectName, AlienCategory.Type alienType, float posX = 0.0f, float posY = 0.0f) { GameObject pGameObject = null; switch (alienType) { case AlienCategory.Type.Octopus: pGameObject = new Octopus(objectName, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.Crab: pGameObject = new Crab(objectName, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Squid: pGameObject = new Squid(objectName, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Column: pGameObject = new AlienColumn(objectName, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Group: pGameObject = new AlienGroup(objectName, GameSprite.Name.NullObject, 0.0f, 0.0f); break; default: Debug.Assert(false); break; } // add pGameObject to GameObjectMan and pGrid Debug.Assert(pGameObject != null); // attached to SpritBatch pGameObject.activateGameSprite(this.pSpriteBatch); pGameObject.activateCollisionSprite(this.pBoxSpriteBatch); return(pGameObject); }
public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f, float ColIndex = 0.0f) { GameObject pGameObject = null; switch (type) { case AlienCategory.Type.Squid: pGameObject = new SquidGO(name, GameSprite.Name.Squid, posX, posY); break; case AlienCategory.Type.Crab: pGameObject = new CrabGO(name, GameSprite.Name.Crab, posX, posY); break; case AlienCategory.Type.Octopus: pGameObject = new OctoGO(name, GameSprite.Name.Octopus, posX, posY); break; case AlienCategory.Type.Group: pGameObject = new AlienGroup(name, GameSprite.Name.NullObject, 0.0f, 0.0f); break; case AlienCategory.Type.Column: pGameObject = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f, ColIndex); break; default: Debug.Assert(false); break; } this.pTree.Add(pGameObject); //attach to Group to Draw/Render it pGameObject.ActivateGameSprite(this.pSpriteBatch); pGameObject.ActivateCollisionSprite(this.pColSpriteBatch); return(pGameObject); }
public static GameObject Create(AlienCategory.Type type, int _Index, float posX = 0.0f, float posY = 0.0f) { AlienFactory pFactory = AlienFactory.PrivGetInstance(); GameObject pGameObj = null; switch (type) { case AlienCategory.Type.Crab: pGameObj = new AlienCrab(GameObject.Name.Crab, GameSprite.Name.Crab, _Index, posX, posY); break; case AlienCategory.Type.Octopus: pGameObj = new AlienOctopus(GameObject.Name.Octopus, GameSprite.Name.Octopus, _Index, posX, posY); break; case AlienCategory.Type.Squid: pGameObj = new AlienSquid(GameObject.Name.Squid, GameSprite.Name.Squid, _Index, posX, posY); break; case AlienCategory.Type.Column: pGameObj = new AlienColumn(GameObject.Name.AlienColumn, GameSprite.Name.NullObject, _Index, 0.0f, 0.0f); break; case AlienCategory.Type.Group: pGameObj = new AlienGroup(GameObject.Name.AlienGroup, GameSprite.Name.NullObject, _Index, 0.0f, 0.0f); break; default: Debug.Assert(false); break; } Debug.Assert(pGameObj != null); // Attach to SpriteBatch pGameObj.ActivateGameSprite(pFactory.pGameSpriteBatch); pGameObj.ActivateCollisionSprite(pFactory.pBoxSpriteBatch); return(pGameObj); }
public override void Execute(float deltaTime) { float NewTime = RandomManager.RandomInt(1, 3); float randColumn = RandomManager.RandomInt(1, 12); AlienGrid pGrid = (AlienGrid)GameObjectManager.Find(GameObject.Name.AlienGrid); AlienColumn pColumn = (AlienColumn)pGrid.GetFirstChild(); AlienColumn temp = pColumn; int col = 0; while (temp != null) { col++; if (col == randColumn) { temp.DropBomb(); } temp = (AlienColumn)Iterator.GetSibling(temp); } // Add itself back to timer TimerManager.Add(TimeEvent.Name.DropBomb, this, NewTime); }
public override void VisitAlienColumn(AlienColumn a) { GameObject pGameObj = (GameObject)Iterator.GetChild(a); ColPair.Collide(pGameObj, this); }
public abstract void Handle(AlienColumn pCol);
public virtual void VisitColumn(AlienColumn ac) { // no differed to subcass Debug.WriteLine("Visit by AlienColumn not implemented"); Debug.Assert(false); }
public override void DropBomb(AlienColumn pCol) { BombManager.ActivateBomb(pCol); this.Handle(pCol); }
public override void LoadContent() { SpriteNodeBatch pSB_Texts = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Texts); Texture pTexture = TextureManager.Add(Texture.Name.Consolas36pt, "Consolas36pt.tga"); GlyphManager.AddXml(Glyph.Name.Consolas36pt, "Consolas36pt.xml", Texture.Name.Consolas36pt); TextureManager.Add(Texture.Name.SpaceInvaders, "SpaceInvaders.tga"); ImageManager.Add(Image.Name.SquidA, Texture.Name.SpaceInvaders, 61, 3, 8, 8); ImageManager.Add(Image.Name.AlienA, Texture.Name.SpaceInvaders, 33, 3, 11, 8); ImageManager.Add(Image.Name.OctopusA, Texture.Name.SpaceInvaders, 3, 3, 12, 8); ImageManager.Add(Image.Name.Saucer, Texture.Name.SpaceInvaders, 99, 3, 16, 8); //---------------------------------------------------------------------------------- // Print Space Invaders Title Scene //---------------------------------------------------------------------------------- Font pFont; int topTextLine = 980; pFont = FontManager.Add(Font.Name.Score1_Title, SpriteNodeBatch.Name.Texts, "SCORE<1>", Glyph.Name.Consolas36pt, 100, topTextLine); pFont = FontManager.Add(Font.Name.HighScore_Title, SpriteNodeBatch.Name.Texts, "HI-SCORE<1>", Glyph.Name.Consolas36pt, 350, topTextLine); pFont = FontManager.Add(Font.Name.Score2_Title, SpriteNodeBatch.Name.Texts, "SCORE<2>", Glyph.Name.Consolas36pt, 650, topTextLine); int scoreTextLine = 940; int x_shift = 40; pFont = FontManager.Add(Font.Name.Score1, SpriteNodeBatch.Name.Texts, "0000", Glyph.Name.Consolas36pt, 100 + x_shift, scoreTextLine); pFont = FontManager.Add(Font.Name.HighScore, SpriteNodeBatch.Name.Texts, "0000", Glyph.Name.Consolas36pt, 350 + x_shift, scoreTextLine); pFont = FontManager.Add(Font.Name.Score2, SpriteNodeBatch.Name.Texts, "0000", Glyph.Name.Consolas36pt, 650 + x_shift, scoreTextLine); int playTextLine = topTextLine - 200; pFont = FontManager.Add(Font.Name.Play, SpriteNodeBatch.Name.Texts, "PLAY", Glyph.Name.Consolas36pt, 400, playTextLine); pFont = FontManager.Add(Font.Name.GameTitle, SpriteNodeBatch.Name.Texts, "SPACE INVADERS", Glyph.Name.Consolas36pt, 300, playTextLine - 60); int advTableTop = topTextLine - 430; pFont = FontManager.Add(Font.Name.ScoreTable, SpriteNodeBatch.Name.Texts, "*SCORE ADVANCE TABLE*", Glyph.Name.Consolas36pt, 200, advTableTop); int leftAlignPoints = 335; float size = 36.0f; GameSpriteManager.Add(GameSprite.Name.Saucer, Image.Name.Saucer, leftAlignPoints, advTableTop - 50, 60, 30); pFont = FontManager.Add(Font.Name.UFO_Points, SpriteNodeBatch.Name.Texts, " =? MYSTERY", Glyph.Name.Consolas36pt, leftAlignPoints, advTableTop - 50); GameSpriteManager.Add(GameSprite.Name.Squid, Image.Name.SquidA, leftAlignPoints, advTableTop - 100, size, size); pFont = FontManager.Add(Font.Name.Squid_Points, SpriteNodeBatch.Name.Texts, " =30 POINTS", Glyph.Name.Consolas36pt, leftAlignPoints, advTableTop - 100); GameSpriteManager.Add(GameSprite.Name.Alien, Image.Name.AlienA, leftAlignPoints, advTableTop - 150, size, size); pFont = FontManager.Add(Font.Name.Alien_Points, SpriteNodeBatch.Name.Texts, " =20 POINTS", Glyph.Name.Consolas36pt, leftAlignPoints, advTableTop - 150); GameSpriteManager.Add(GameSprite.Name.Octopus, Image.Name.OctopusA, leftAlignPoints, advTableTop - 200, size, size); pFont = FontManager.Add(Font.Name.Octopus_Points, SpriteNodeBatch.Name.Texts, " =10 POINTS", Glyph.Name.Consolas36pt, leftAlignPoints, advTableTop - 200); pFont.SetColor(0.1f, 0.9f, 0.1f); // ----------------------------------------------------------------------------- // ---------------------- Create Sprite Node Batches --------------------------- // ----------------------------------------------------------------------------- //SpriteNodeBatch pBatch_Texts = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Texts, 2); //SpriteNodeBatch pBatch_Player = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Players, 5); //SpriteNodeBatch pBatch_TheSwarm = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.TheSwarm, 10); //SpriteNodeBatch pBatch_Shields = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Shields, 200); SpriteNodeBatch pSB_Invaders = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Invaders, 100); SpriteNodeBatch pBatch_Boxes = SpriteNodeBatchManager.Add(SpriteNodeBatch.Name.Boxes, 400); pBatch_Boxes.SetDrawStatus(false); AlienFactory AF = new AlienFactory(SpriteNodeBatch.Name.Invaders, SpriteNodeBatch.Name.Boxes); AlienColumn pAlienCol = (AlienColumn)AF.Create(GameObject.Name.Column_0, AlienCategory.Type.Column); GameObject pGameObj; pGameObj = AF.Create(GameObject.Name.Saucer, AlienCategory.Type.Saucer, leftAlignPoints - 9, advTableTop - 50); pAlienCol.Add(pGameObj); pGameObj = AF.Create(GameObject.Name.Squid, AlienCategory.Type.Squid, leftAlignPoints, advTableTop - 100); pAlienCol.Add(pGameObj); pGameObj = AF.Create(GameObject.Name.Alien, AlienCategory.Type.Alien, leftAlignPoints, advTableTop - 150); pAlienCol.Add(pGameObj); pGameObj = AF.Create(GameObject.Name.Octopus, AlienCategory.Type.Octopus, leftAlignPoints, advTableTop - 200); pAlienCol.Add(pGameObj); GameObjectManager.Attach(pAlienCol); }
public override void Handle(AlienColumn pCol) { BombManager.SetState(BombManager.StateName.BombDropping, pCol); //Debug.WriteLine("BOMB DROPPING STATE\n"); }
public override void VisitAlienColumn(AlienColumn ac) { GameObject pGameObj = Iterator.GetChildGameObject(this); CollisionPair.Collide(this, ac); }
public abstract void DropBomb(AlienColumn pCol);
public override void VisitColumn(AlienColumn ac) { // Alien Column vs ShieldRoot CollPair.Collide((GameObject)Iterator.GetChild(ac), this); }
public virtual void VisitAlienColumn(AlienColumn ac) { Debug.Assert(false); }