示例#1
0
 public void attaquer(bool ataqueInterne)
 {
     if (apartienAuJoueur1 || ataqueInterne == false)
     {
         Vector3 departRay = new Vector3(this.transform.position.x + positionBaseRay, this.transform.position.y, this.transform.position.z);
         //Debug.Log(directionRay);
         RaycastHit2D[] toucher = Physics2D.RaycastAll(departRay, new Vector2(directionRay, 0), distanceRay, HitLayers);
         //Debug.DrawRay(departRay, new Vector3(90, 0, 90), Color.red, 5);
         foreach (RaycastHit2D hit in toucher)
         {
             Debug.Log(hit.rigidbody.gameObject.name);
             VieJoueur joueur = null;
             joueur = hit.rigidbody.gameObject.GetComponent <VieJoueur>();
             if (joueur != null)
             {
                 Debug.Log("hit");
                 joueur.faireDegat(degats);
                 if (this.gameObject.transform.parent.transform.position.x > hit.rigidbody.gameObject.transform.position.x && quantitierKnockBackx > 0)
                 {
                     quantitierKnockBackx *= -1;
                 }
                 else if (this.gameObject.transform.parent.transform.position.x < hit.rigidbody.gameObject.transform.position.x && quantitierKnockBackx < 0)
                 {
                     quantitierKnockBackx *= -1;
                 }
                 //hit.rigidbody.AddForce(new Vector2(quantitierKnockBackx, quantitierKnockBacky));
                 GestionnaireAttaque.declancherEvenement("VieJ1Changer", degats, joueur.name, quantitierKnockBackx);
             }
         }
     }
 }
示例#2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.layer == this.gameObject.layer)
     {
         Debug.Log("collision" + collision.gameObject.name);
         VieJoueur joueur = null;
         joueur = collision.gameObject.GetComponent <VieJoueur>();
         if (joueur != null && collision.gameObject.GetComponent <mouvement>() != null)
         {
             GestionnaireAttaque.declancherEvenement("VieJ1Changer", degat, collision.gameObject.name, 0);
             areterFleche(collision);
         }
         else if (collision.gameObject.GetComponent <ObjetRamasable>() == null)
         {
             areterFleche(collision);
         }
     }
     else
     {
         areterFleche(collision);
     }
 }