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); } } } }
void OnCollisionEnter2D(Collision2D collision) { VieJoueur vieJ = collision.gameObject.GetComponent <VieJoueur>(); if (vieJ) { if (vieJ.getIfAlive()) { vieJ.faireDegat(vieJ.getVieMaximale()); } } }
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."); } }