public bool CheckColumns(Missile inObj)
        {
            ListNode ptr = (ListNode)Columns.getActiveHead();

            while (ptr != null)
            {
                Column temp = (Column)ptr.getData();

                if (temp.iSCollide(inObj.getCollisionObjRectangle()))
                {
                    bool Hit = temp.CheckAliens(inObj);

                    if (((Column)ptr.getData()).isEmpty())
                    {
                        Columns.Remove(ptr);
                        GameObjMananger.getInstance().KillObject((Column)ptr.getData(), SpriteBatchName.Scene);
                    }

                    Rectangle X = UpdateSize();

                    if (X.Equals(Rectangle.Empty))
                    {
                        GameManager.getInstance().NextLevel();
                    }

                    return(Hit);
                }

                ptr = (ListNode)ptr.pNext;
            }

            return(false);
        }
Пример #2
0
        public bool CheckAliens(Missile inObj)
        {
            ListNode ptr = (ListNode)Aliens.getActiveHead();

            while (ptr != null)
            {
                Alien temp = (Alien)ptr.getData();

                if (temp.iSCollide(inObj.getCollisionObjRectangle()))
                {
                    Aliens.Remove(ptr);
                    UpdateSize();

                    ((Alien)(ptr.getData())).Kill();

                    ptr.purge();

                    return(true);
                }

                ptr = (ListNode)ptr.pNext;
            }

            return(false);
        }