bool EstEnCollision(BoundingSphere zoneCollTest)
        {
            bool estEnCollision = false;

            foreach (GameComponent c in Game.Components)
            {
                if (c is Zombie)
                {
                    Zombie zombie = c as Zombie;
                    estEnCollision = GestionCollisions.CollisionMonstreMonstre(zoneCollTest, zombie.ZoneCollisionCible) || GestionCollisions.CollisionMonstreMonstre(zoneCollTest, zombie.ZoneCollision);
                }

                if (c is CubeColoré)
                {
                    CubeColoré mur = c as CubeColoré;
                    estEnCollision = GestionCollisions.CollisionMonstreMur(zoneCollTest, mur);
                }

                if (estEnCollision)
                {
                    break;
                }
            }

            return(estEnCollision);
        }
示例#2
0
        bool EstEnCollision(object autreObjet, BoundingSphere zoneCollision)
        {
            bool estEnCollision = false;


            if (autreObjet is CubeColoré)// && !estEnCollision)
            {
                CubeColoré mur = autreObjet as CubeColoré;
                estEnCollision = GestionCollisions.CollisionJoueurMur(zoneCollision, mur);
            }

            //if (autreObjet is Caméra)
            //{
            //    Caméra joueur = autreObjet as Caméra;
            //    GestionCollisions.CollisionJoueurs(this, joueur);
            //}

            //if (autreObjet is MONSTRE)
            //{

            //FuturZombie zombie = autreObjet as FuturZombie
            //GestionCollisions.CollisionJoueurMonstre(this, zombie);
            //}

            //if(autreObjet is ObjetTournoyant)
            //{
            //    ObjetTournoyant obj = autreObjet as ObjetTournoyant;
            //    if(GestionCollisions.CollisionMonstreMonstre(obj.ZoneCollision, ZoneCollisionPowerUps))
            //    {
            //        Console.WriteLine("Objet acquis!");
            //    }
            //}

            return(estEnCollision);
        }
        public bool CollisionJoueurMur(Caméra joueur, CubeColoré mur)
        {
            bool estEnCollision = false;
            Vector3 distance = joueur.ZoneCollision.Center - mur.ZoneVerifCollision.Center;
            float normeDist = distance.Length();
            float somme = joueur.ZoneCollision.Radius + mur.ZoneVerifCollision.Radius;

            if (somme > normeDist)
            {
                estEnCollision = joueur.ZoneCollision.Intersects(mur.ZoneCollision);
            }

            return estEnCollision;
        }
示例#4
0
        public bool CollisionMonstreMur(BoundingSphere zoneCollZombie, CubeColoré mur)
        {
            bool    estEnCollision = false;
            Vector3 distance       = zoneCollZombie.Center - mur.ZoneCollisionZombie.Center;

            float normeDist = distance.Length();
            float somme     = zoneCollZombie.Radius + mur.ZoneCollisionZombie.Radius;

            if (somme > normeDist)
            {
                estEnCollision = zoneCollZombie.Intersects(mur.ZoneCollision);
            }

            return(estEnCollision);
        }
示例#5
0
        //public bool CollisionJoueurs(Caméra joueurA, Caméra joueurB)
        //{
        //    Vector3 distance = joueurA.ZoneCollision.Center - joueurB.ZoneCollision.Center;
        //    float normeDist = distance.Length();
        //    float somme = joueurA.ZoneCollision.Radius + joueurB.ZoneCollision.Radius;

        //    return somme > normeDist;
        //}

        public bool CollisionJoueurMur(BoundingSphere zoneCollision, CubeColoré mur)
        {
            bool    estEnCollision = false;
            Vector3 distance       = zoneCollision.Center - mur.ZoneVerifCollision.Center;

            float normeDist = distance.Length();
            float somme     = zoneCollision.Radius + mur.ZoneVerifCollision.Radius;

            if (somme > normeDist)
            {
                estEnCollision = zoneCollision.Intersects(mur.ZoneCollision);
            }

            return(estEnCollision);
        }