예제 #1
0
        public override void VisitBombRoot(BombRoot br)
        {
            // BombRoot vs Missile
            GameObject pGameObj = Iterator.GetChildGameObject(br);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #2
0
        public override void VisitMissileGroup(MissileGroup m)
        {
            //  Debug.WriteLine("\t\tCollide : {0} <-> {1}", m.name, this.name);
            GameObject pGameObj = Iterator.GetChildGameObject(m);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #3
0
        public override void VisitFlyingSaucerRoot(FlyingSaucerRoot fsr)
        {
            // FlyingSaucerRoot vs Missile
            GameObject pGameObj = Iterator.GetChildGameObject(fsr);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #4
0
        public override void VisitShieldBrick(ShieldBrick sb)
        {
            // ShieldBrick vs Missile
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(sb, pGameObj);
        }
예제 #5
0
        public static void ResetAlienPoints(float offY = 0.0f)
        {
            GameObject pGroup = GameObjectManager.Find(GameObject.Name.AlienGroup);

            GameObject pColumn = Iterator.GetChildGameObject(pGroup);
            float      offset  = Constant.ALIEN_OFFSET_X;
            int        i       = 0;

            while (pColumn != null)
            {
                GameObject pAlien = Iterator.GetChildGameObject(pColumn);

                pAlien.x = 100.0f + offset * i;
                pAlien.y = Constant.WINDOW_HEIGHT - 200.0f - offY;

                pAlien   = (GameObject)pAlien.pNext;
                pAlien.x = 100.0f + offset * i;
                pAlien.y = Constant.WINDOW_HEIGHT - 240.0f - offY;

                pAlien   = (GameObject)pAlien.pNext;
                pAlien.x = 100.0f + offset * i;
                pAlien.y = Constant.WINDOW_HEIGHT - 280.0f - offY;

                pAlien   = (GameObject)pAlien.pNext;
                pAlien.x = 100.0f + offset * i;
                pAlien.y = Constant.WINDOW_HEIGHT - 320.0f - offY;

                pAlien   = (GameObject)pAlien.pNext;
                pAlien.x = 100.0f + offset * i;
                pAlien.y = Constant.WINDOW_HEIGHT - 360.0f - offY;

                i++;
                pColumn = (GameObject)pColumn.pNext;
            }
        }
예제 #6
0
        public override void VisitPlayerGroup(PlayerGroup pPG)
        {
            //   Debug.WriteLine("\t\tCollide : {0} <-> {1}", pPG.name, this.name);
            GameObject pGameObj = Iterator.GetChildGameObject(pPG);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #7
0
        public override void VisitAlienGridColumn(AlienGridColumn agc)
        {
            //Debug.WriteLine("         collide:  {0} <-> {1}", agc.GetName(), this.name);

            // AlienGridColumn vs ShieldBrick
            GameObject pGameObj = Iterator.GetChildGameObject(agc);

            CollisionPair.Collide(this, pGameObj);
        }
예제 #8
0
        public override void VisitBombRoot(BombRoot br)
        {
            //Debug.WriteLine("collide: {0} with {1}", br, this);

            // BombRoot vs BottomWall
            // go down a level in Missile Group.
            GameObject pGameObj = Iterator.GetChildGameObject(br);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #9
0
        public override void VisitMissileGroup(MissileGroup mg)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // MissileGroup vs TopWall
            // go down a level in Missile Group.
            GameObject pGameObj = Iterator.GetChildGameObject(mg);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #10
0
        public override void VisitCoreCannonGroup(CoreCannonGroup ccg)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // CoreCannonGroup vs RightBumper
            // go down a level in CoreCannonGroup
            GameObject pGameObj = Iterator.GetChildGameObject(ccg);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #11
0
        public override void VisitFlyingSaucerRoot(FlyingSaucerRoot fsr)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // BombRoot vs WallGroup
            // go down a level in Wall Group.
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(fsr, pGameObj);
        }
예제 #12
0
        public override void VisitCoreCannonGroup(CoreCannonGroup ccg)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // CoreCannonGroup vs WallGroup
            // go down a level in Wall Group.
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(ccg, pGameObj);
        }
예제 #13
0
        public override void VisitAlienGrid(AlienGrid a)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // AlienGrid vs WallGroup
            // go down a level in Wall Group.
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(a, pGameObj);
        }
예제 #14
0
        public override void VisitMissileGroup(MissileGroup m)
        {
            // AlienGrid vs MissileGroup
            Debug.WriteLine("         collide:  {0} <-> {1}", m.GetName(), this.name);

            // MissileGroup vs Columns
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(m, pGameObj);
        }
예제 #15
0
        public override void VisitFlyingSaucerRoot(FlyingSaucerRoot fsr)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // FlyingSaucerRoot vs Wall
            // go down a level in Flying Saucer composite.
            GameObject pGameObj = Iterator.GetChildGameObject(fsr);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #16
0
        public override void VisitAlienGrid(AlienGrid ag)
        {
            // AlienGrid vs Missile
            //Debug.WriteLine("         collide:  {0} <-> {1}", ag.GetName(), this.name);

            // AlienGridColumn vs Missile
            GameObject pGameObj = Iterator.GetChildGameObject(ag);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #17
0
        public override void VisitBombRoot(BombRoot br)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // BombRoot vs CoreCannon
            // go down a level in BombRoot composite
            GameObject pGameObj = Iterator.GetChildGameObject(br);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #18
0
        public override void VisitAlienGrid(AlienGrid ag)
        {
            //Debug.WriteLine("collide: {0} with {1}", ag, this);

            // AlienGrid vs Shield Brick
            // go down a level in AlienGrid composite.
            GameObject pGameObj = Iterator.GetChildGameObject(ag);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #19
0
        public override void VisitBombRoot(BombRoot br)
        {
            //Debug.WriteLine("collide: {0} with {1}", br, this);

            // BombRoot vs Shield Brick
            // go down a level in Bomb composite.
            GameObject pGameObj = Iterator.GetChildGameObject(br);

            CollisionPair.Collide(this, pGameObj);
        }
예제 #20
0
        public override void VisitMissileGroup(MissileGroup mg)
        {
            //Debug.WriteLine("collide: {0} with {1}", mg, this);

            // MissileGroup vs ShieldBrick
            // go down a level in Missile Group.
            GameObject pGameObj = Iterator.GetChildGameObject(mg);

            CollisionPair.Collide(this, pGameObj);
        }
예제 #21
0
        public override bool IsValidCollision()
        {
            bool isValid = false;

            this.isMissileHit = false;

            if (this.pSubject.pObjA is UFOGroup && this.pSubject.pObjB is WallRight)
            {
                isValid = true;
            }
            else if (this.pSubject.pObjA is UFOGroup && this.pSubject.pObjB is WallLeft)
            {
                isValid = true;
            }
            else if (this.pSubject.pObjA is UFOGroup && this.pSubject.pObjB is MissileGroup)
            {
                ScoreManager.AddScoreToPlayer1(200);
                this.isMissileHit = true;
                isValid           = true;
            }
            this.pUFO = Iterator.GetChildGameObject(this.pSubject.pObjA);
            return(isValid);
        }
예제 #22
0
        public override void VisitMissileGroup(MissileGroup m)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(m, pGameObj);
        }
예제 #23
0
        public override void VisitBomb(Bomb b)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(b, pGameObj);
        }
예제 #24
0
        public override void VisitBombGroup(BombGroup bg)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(bg);

            CollisionPair.Collide(this, pGameObj);
        }
예제 #25
0
        public override void VisitAlienColumn(AlienColumn ac)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(this, ac);
        }
예제 #26
0
        public override void VisitAlienGroup(AlienGroup ag)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(ag);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #27
0
        public override void VisitPlayerGroup(PlayerGroup pPG)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(pPG, pGameObj);
        }
예제 #28
0
        public override void VisitShieldColumn(ShieldColumn sc)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(sc);

            CollisionPair.Collide(pGameObj, this);
        }
예제 #29
0
        public override void VisitWallGroup(WallGroup wg)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(this);

            CollisionPair.Collide(wg, pGameObj);
        }
예제 #30
0
        public override void VisitShieldGroup(ShieldGroup sg)
        {
            GameObject pGameObj = Iterator.GetChildGameObject(sg);

            CollisionPair.Collide(pGameObj, this);
        }