Пример #1
0
        //Collisions
        public bool CheckCollision(Sprite pSprite)
        {
            //Solid objects
            foreach (Sprite other in solidList)
            {
                if (pSprite.HitTest(other))
                {
                    return true;
                }
            }

            if (pSprite is Player || pSprite is PlayerBullet)
            {
                //Damage blocks
                foreach (Sprite other in damageList)
                {
                    if (pSprite.HitTest(other))
                    {
                        if (pSprite is Player)
                        {
                            Player thisplayer = (Player)pSprite;
                            thisplayer.playerDIE();
                            DrawPreDefinedLayer();
                        }
                        else if (pSprite is PlayerBullet)
                        {
                            pSprite.Destroy();
                        }
                    }
                }

                //Enemies
                foreach (Enemy other in enemyList)
                {
                    if (other._state != EnemyState.death)
                    {
                        if (pSprite.HitTest(other))
                        {
                            if (pSprite is Player)
                            {
                                Player thisplayer = (Player)pSprite;
                                thisplayer.playerDIE();
                            }
                            else if (pSprite is PlayerBullet)
                            {
                                PlayerBullet bullet = (PlayerBullet)pSprite;
                                other.HitByBullet(bullet.damage / 4, player.aimDirection);
                                pSprite.Destroy();
                            }
                        }
                    }
                }

            }

            return false;
        }
Пример #2
0
 //Collisions
 public bool CheckCollision(Sprite pSprite)
 {
     //foreach (Sprite other in invisibleList)
     //{
     //    if (pSprite is Enemy)
     //    {
     //        if (pSprite.HitTest(other))
     //        {
     //            //Turn around
     //        }
     //    }
     //}
     //Solid objects
     foreach (Sprite other in solidList)
     {
         if (pSprite.HitTest(other))
         {
             return true;
         }
     }
     //Damage blocks
     foreach (Sprite other in damageList)
     {
         if (pSprite.HitTest(other))
         {
             if (pSprite is Player)
             {
                 Player thisplayer = (Player)pSprite;
                 thisplayer.playerDIE();
             }
             else if (pSprite is PlayerBullet)
             {
                 pSprite.Destroy();
             }
         }
     }
     return false;
 }