示例#1
0
        /// <summary>
        /// Explosion Collision detection
        /// </summary>
        public void ExplosionCollision()
        {
            //get the enemy missles
            List <EnemyMissile> colCheckEMis = gm.RefEnemySpawner().GetEnemyMissiles();

            for (int i = 0; i < colCheckEMis.Count; i++)
            {
                if (Utils.Distance(ExplosionLocation, colCheckEMis[i].GetLocation()) <= Expl_size)
                {
                    gm.RefEnemySpawner().EMissileDetonate(colCheckEMis[i]);
                }
            }
        }
        /// <summary>
        /// Forwards collision detection to misslelauncher and missles
        /// </summary>
        public void ForwardCollision()
        {
            //get the enemy missles
            List <EnemyMissile> colCheckEMis = gameManager.RefEnemySpawner().GetEnemyMissiles();

            for (int i = 0; i < missiles.Count; i++)
            {
                Vector2f misloc = missiles[i].GetLocation();
                for (int j = 0; j < colCheckEMis.Count; j++)
                {
                    //Check if the missiles collide
                    if (Utils.Distance(misloc, colCheckEMis[j].GetLocation()) <= 5f)
                    {
                        Console.WriteLine("+++ missle hit!");
                        gameManager.RefEnemySpawner().EMissileDetonate(colCheckEMis[j]);
                    }
                }
            }
        }