public IProjectile CheckHit(BaseAlien alien) { int i = pistolBulletPool.GetFirst(); while (i != -1) { PistolBullet b = pistolBulletPool.GetByIndex(i); if (Collider.Collide(alien.GetBoundRect(), b.GetCenter())) { return(b); } i = pistolBulletPool.NextIndex(b); } i = shotgunBulletPool.GetFirst(); while (i != -1) { ShotgunBullet b = shotgunBulletPool.GetByIndex(i); if (Collider.Collide(alien.GetBoundRect(), b.GetCenter())) { return(b); } i = shotgunBulletPool.NextIndex(b); } i = assaultBulletPool.GetFirst(); while (i != -1) { AssaultBullet b = assaultBulletPool.GetByIndex(i); if (Collider.Collide(alien.GetBoundRect(), b.GetCenter())) { return(b); } i = assaultBulletPool.NextIndex(b); } i = sniperBulletPool.GetFirst(); while (i != -1) { SniperBullet b = sniperBulletPool.GetByIndex(i); if (Collider.Collide(alien.GetBoundRect(), b.GetCenter())) { return(b); } i = sniperBulletPool.NextIndex(b); } return(null); }