示例#1
0
        public override void Visit(UFOLeaf a)
        {
            CollisionPair pair = ColPairMan.Find(CollisionPairName.UFO_Wall);

            pair.SetCollision(this, a);
            pair.Notify();
        }
        public override void VisitMissile(Missile m)
        {
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(m, this);
            pColPair.NotifyListeners();
        }
        public override void VisitShieldBrick(ShieldBrick m)
        {
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(this, m);
            pColPair.NotifyListeners();
        }
示例#4
0
        public override void VisitBomb(Bomb pBomb)
        {
            CollisionPair cp = CollisionPairManager.GetActiveCollisionPair();

            cp.SetCollision(pBomb, this);
            cp.NotifyObservers();
        }
示例#5
0
文件: ShieldBrick.cs 项目: xfanw/Game
        public override void Visit(BombLeaf b)
        {
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Bomb_Shield);

            pair.SetCollision(b, this);
            pair.Notify();
        }
示例#6
0
        public override void VisitMissile(Missile pMissile)
        {
            CollisionPair collisionPair = CollisionPairManager.GetActiveCollisionPair();

            collisionPair.SetCollision(pMissile, this);
            collisionPair.NotifyObservers();
        }
示例#7
0
        public override void Visit(BombLeaf a)
        {
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Bomb_Wall);

            pair.SetCollision(a, this);
            pair.Notify();
        }
示例#8
0
文件: ShipLeaf.cs 项目: xfanw/Game
        public override void Visit(BombLeaf b)
        {
            // Bombleaf Hit Shipleaf ->Do Something
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Bomb_Ship);

            pair.SetCollision(b, this);
            pair.Notify();
        }
        public override void VisitBomb(Bomb b)
        {
            //Debug.WriteLine(" ---> Done");
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(b, this);
            pColPair.NotifyListeners();
        }
示例#10
0
文件: ShieldBrick.cs 项目: xfanw/Game
        // Alien Hit Shield
        public override void Visit(AliensCol b)
        {
            // Alien Hit Shield Brick --> visit children of Aliens
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Alien_Shield);

            pair.SetCollision(b, this);
            pair.Notify();
        }
示例#11
0
        public override void VisitBomb(Bomb pBomb)
        {
            //Debug.WriteLine("BOMB HIT!");
            CollisionPair cp = CollisionPairManager.GetActiveCollisionPair();

            cp.SetCollision(pBomb, this);
            cp.NotifyObservers();
        }
示例#12
0
        public override void Visit(ShipBulletLeaf a)
        {
            //Bullet Hit WallLeaf ---> reset
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Bullet_Wall);

            pair.SetCollision(a, this);
            pair.Notify();
        }
示例#13
0
文件: BombLeaf.cs 项目: xfanw/Game
        public override void Visit(ShipBulletLeaf b)
        {
            //Bullet hit Bullet --> Do Something
            CollisionPair pair = ColPairMan.Find(CollisionPairName.Bullet_Bomb);

            pair.SetCollision(b, this);
            pair.Notify();
        }
示例#14
0
        public override void VisitGrid(Grid pGrid)
        {
            CollisionPair pCollisionPair = CollisionPairManager.GetActiveCollisionPair();

            Debug.Assert(pCollisionPair != null);
            pCollisionPair.SetCollision(pGrid, this);
            pCollisionPair.NotifyObservers();
        }
示例#15
0
        public override void VisitUFORoot(UFORoot pUFORoot)
        {
            CollisionPair pCollisionPair = CollisionPairManager.GetActiveCollisionPair();

            Debug.Assert(pCollisionPair != null);
            pCollisionPair.SetCollision(pUFORoot, this);
            pCollisionPair.NotifyObservers();
        }
示例#16
0
        public override void VisitMissile(Missile pMissile)
        {
            //Debug.WriteLine("Hit Octopus!");
            CollisionPair collisionPair = CollisionPairManager.GetActiveCollisionPair();

            collisionPair.SetCollision(pMissile, this);
            collisionPair.NotifyObservers();
        }
        public override void VisitGroup(AlienGrid a)
        {
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);

            pColPair.SetCollision(a, this);
            pColPair.NotifyListeners();
        }
示例#18
0
 public override void VisitMissile(Missile m)
 {
     if (this.bMarkForDeath == false && m.bMarkForDeath == false)// to fix bug with collision with null objs
     {
         CollisionPair pColPair = CollisionPairManager.GetActiveColPair();
         pColPair.SetCollision(m, this);
         pColPair.NotifyListeners();
     }
 }
 public override void VisitMissile(Missile m)
 {
     if (m.bMarkForDeath == false)
     {
         CollisionPair pColPair = CollisionPairManager.GetActiveColPair();
         pColPair.SetCollision(m, this);
         pColPair.NotifyListeners();
     }
 }
示例#20
0
        public override void VisitFlyingSaucer(FlyingSaucer fs)
        {
            // Notify Observers
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(fs, this);
            pColPair.NotifyListeners();
        }
        public override void VisitShip(Ship m)
        {
            // Missile vs WallTop
            //Debug.WriteLine(" ---> Done");
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(m, this);
            pColPair.NotifyListeners();
        }
示例#22
0
        public override void VisitAlienGrid(AlienGrid a)
        {
            // AlienGrid vs LeftWall
            // Debug.WriteLine("collide: {0} with {1}", this, a);

            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(a, this);
            pColPair.NotifyListeners();
        }
示例#23
0
        // TODO Remove - Shouldn't need this one for TopWall
        public override void VisitMissile(Missile m)
        {
            // Missile vs TopWall
            //       Debug.WriteLine("collide: {0} with {1}", this, a);

            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(this, m);
            pColPair.NotifyListeners();
        }
示例#24
0
 public override void VisitBomb(Bomb b)
 {
     if (this.bMarkForDeath == false)// to fix bug with collision with null objs
     {
         // Bomb vs ShieldBrick
         //Debug.WriteLine(" ---> Done");
         CollisionPair pColPair = CollisionPairManager.GetActiveColPair();
         pColPair.SetCollision(b, this);
         pColPair.NotifyListeners();
     }
 }
示例#25
0
        public override void VisitBomb(Bomb b)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // Bomb vs CoreCannon
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(b, this);
            pColPair.NotifyListeners();
        }
示例#26
0
        public override void VisitFlyingSaucer(FlyingSaucer fs)
        {
            // Debug.WriteLine("collide: {0} with {1}", a, this);

            // FlyingSaucer vs Wall
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(fs, this);
            pColPair.NotifyListeners();
        }
示例#27
0
        public override void VisitCoreCannon(CoreCannon cc)
        {
            // CoreCannon vs RightBumper
            // Debug.WriteLine("collide: {0} with {1}", this, a);

            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(cc, this);
            pColPair.NotifyListeners();
        }
示例#28
0
        public override void VisitBomb(Bomb b)
        {
            // Bomb vs Missile

            // Notify Observers
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(this, b);
            pColPair.NotifyListeners();
        }
示例#29
0
        public override void VisitBottomWall(BottomWall w)
        {
            //ShieldBrick vs Bomb
            //Debug.WriteLine("         collide:  {0} <-> {1}", w.GetName(), this.name);

            // Notify Observers
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(w, this);
            pColPair.NotifyListeners();
        }
示例#30
0
        public override void VisitShieldBrick(ShieldBrick sb)
        {
            //ShieldBrick vs Missile
            //Debug.WriteLine("         collide:  {0} <-> {1}", sb.GetName(), this.name);

            // Notify Observers
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(sb, this);
            pColPair.NotifyListeners();
        }