Example #1
0
        internal static void DestroyAlienGrid(AlienGrid pAlienGrid)
        {
            // Iterate through AlienGridColumns
            AlienGridColumn pGridColumn = (AlienGridColumn)pAlienGrid.GetFirstChild();

            while (pGridColumn != null)
            {
                // Iterate through shield bricks
                Alien pAlien = (Alien)pGridColumn.GetFirstChild();
                while (pAlien != null)
                {
                    // Remove Alien from composite
                    pGridColumn.Remove(pAlien);

                    // Kill Alien
                    pAlien.Remove(SpriteBatch.Name.Alien, SpriteBatch.Name.CollisionBox);

                    // Get next Alien
                    pAlien = (Alien)pGridColumn.GetFirstChild();
                }

                // Remove AlienGridColumn from composite
                pAlienGrid.Remove(pGridColumn);

                // Kill AlienGridColumn
                pGridColumn.Remove(SpriteBatch.Name.Alien, SpriteBatch.Name.CollisionBox);

                // Get next AlienGridColumn
                pGridColumn = (AlienGridColumn)pAlienGrid.GetFirstChild();
            }
        }