public static void Destroy()
        {
            BombManager pMan = BombManager.GetInstance();

            Debug.Assert(pMan != null);

            // Do something clever here
            // track peak number of active nodes
            // print stats on destroy
            // invalidate the singleton
        }
        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 static void RandomizeBombType(Bomb pBomb)
        {
            BombManager pBombMan = BombManager.GetInstance();
            float       rand     = RandomManager.RandomInt(1, 4);

            switch (rand)
            {
            case 1:
                pBomb.pStrategy = pBomb.pZigZag;
                pBomb.pProxySprite.Set(GameSprite.Name.BombZigZag);
                break;

            case 2:
                pBomb.pStrategy = pBomb.pDaggers;
                pBomb.pProxySprite.Set(GameSprite.Name.BombDagger);
                break;

            case 3:
                pBomb.pStrategy = pBomb.pStraight;
                pBomb.pProxySprite.Set(GameSprite.Name.BombStraight);
                break;
            }
            pBomb.poColObj.poColRect.Set(pBomb.pProxySprite.pSprite.GetScreenRect());
        }