예제 #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
    void OnCollisionEnter2D(Collision2D collision)
    {
        VieJoueur vieJ = collision.gameObject.GetComponent <VieJoueur>();

        if (vieJ)
        {
            if (vieJ.getIfAlive())
            {
                vieJ.faireDegat(vieJ.getVieMaximale());
            }
        }
    }
예제 #3
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        Debug.Log("INFO    ObstacleEnvironnemental:OnCollisionEnter2D(Collision2D collision) triggered for " + this.gameObject.name);
        VieJoueur    vieJ  = collider.gameObject.GetComponent <VieJoueur>();
        DegatsJoueur testJ = collider.gameObject.GetComponent <DegatsJoueur>();

        if (vieJ && testJ)
        {
            Vector3 force3d = collider.gameObject.transform.position - this.gameObject.transform.position;
            Vector2 force2d = new Vector2(force3d.x, force3d.y);
            testJ.repousserJoueur(force2d, this.dmg * 32.0f);
            vieJ.faireDegat(this.dmg);
        }
        else
        {
            Debug.Log("INFO    ObstacleEnvironnemental:OnCollisionEnter2D(Collision2D collision) Colliding entity is not a player.");
        }
    }