public void ProjetilCollision(RaycastHit2D hit, ArrowMoviment arrow) { Projetil _proj = hit.collider.GetComponent <Projetil>(); if (!hitedProjetils.Contains(_proj)) { hitedProjetils.Add(_proj); if (_proj.destrutivel) { FindObjectOfType <AudioManager>().Play("brustArrow"); if (ArrowDamage) { Instantiate(ArrowDamage, _proj.transform.position, Quaternion.identity); } } if (_proj.solido) { arrow.transform.SetParent(_proj.transform); communAction(arrow); } else { if (_proj.colideFlecha) { communAction(arrow); Destroy(gameObject, 0.5f); } } } }
void communAction(ArrowMoviment arrow) { arrow.collisionOccurred = true; arrow.arrowHead.SetActive(false); arrow._rBody.velocity = Vector3.zero; arrow._rBody.isKinematic = true; arrow._rBody.constraints = RigidbodyConstraints.FreezeAll; }
public void ItemCollision(RaycastHit2D hit, ArrowMoviment arrow) { FindObjectOfType <AudioManager>().Play("piercingArrow"); if (ArrowDamage) { Instantiate(ArrowDamage, hit.collider.transform.position, Quaternion.identity); } hit.collider.GetComponent <IItem>().Action(); Destroy(hit.collider.gameObject, 0.5f); }
public void EnemyCollision(RaycastHit2D hit, ArrowMoviment arrow) { EnemyPart ep = hit.collider.gameObject.GetComponent <EnemyPart>(); if (!ep._enemy.dead) { FindObjectOfType <AudioManager>().Play("brustArrow"); arrow.transform.SetParent(ep.transform); communAction(arrow); Destroy(arrow.gameObject, 8); } }
public void EnemyCollision(RaycastHit2D hit, ArrowMoviment arrow) { EnemyPart ep = hit.collider.gameObject.GetComponent <EnemyPart>(); if (!ep._enemy.dead) { FindObjectOfType <AudioManager>().Play("basicArrow"); communAction(arrow); ep.hit(damage, GameController.arrowsType.basic); arrow.transform.SetParent(ep.transform); if (ArrowDamage) { Instantiate(ArrowDamage, hit.collider.transform.position, Quaternion.identity); } Destroy(arrow.gameObject, 8); } }
public void ProjetilCollision(RaycastHit2D hit, ArrowMoviment arrow) { Projetil _proj = hit.collider.GetComponent <Projetil>(); if (!hitedProjetils.Contains(_proj)) { hitedProjetils.Add(_proj); if (_proj.destrutivel) { FindObjectOfType <AudioManager>().Play("piercingArrow"); if (ArrowDamage) { Instantiate(ArrowDamage, _proj.transform.position, Quaternion.identity); } } _proj.damage(damage); } }
public void EnemyCollision(RaycastHit2D hit, ArrowMoviment arrow) { EnemyPart ep = hit.collider.gameObject.GetComponent <EnemyPart>(); if (!ep._enemy.dead) { if (ArrowDamage) { Instantiate(ArrowDamage, hit.collider.transform.position, Quaternion.identity); } if (!partsHited.Contains(ep)) { FindObjectOfType <AudioManager>().Play("piercingArrow"); partsHited.Add(ep); ep.hit(damage, GameController.arrowsType.piercing); } } }
public void ProtectionCollision(RaycastHit2D hit, ArrowMoviment arrow) { FindObjectOfType <AudioManager>().Play("protection"); if (_trail.enabled) { _trail.enabled = false; _trail2.enabled = true; } else { _trail.enabled = true; _trail2.enabled = false; } if (arrow.transform.position.x > hit.collider.transform.position.x) { arrow.renderUnFlip(); } arrow._rBody.velocity = (arrow._rBody.velocity * -1) + (new Vector3(0, 1, 0) * 10); }
void communAction(ArrowMoviment arrow) { Instantiate(explosionParticle, transform.position, Quaternion.identity); RaycastHit2D[] callisions = Physics2D.CircleCastAll(transform.position, explosionRadio, new Vector2(1, 1), 0, arrow.targetLayerMask); for (int i = 0; i < callisions.Length; i++) { GameObject go = callisions[i].collider.gameObject; if (go.tag == "Enemy") { EnemyPart ep = callisions[i].collider.gameObject.GetComponent <EnemyPart>(); if (!enemiesHited.Contains(ep._enemy)) { enemiesHited.Add(ep._enemy); ep.hit(damage, GameController.arrowsType.brust); } } else if (go.tag == "Item") { go.GetComponent <IItem>().Action(); Destroy(go, 0.5f); } else if (go.tag == "Projetil") { go.GetComponent <Projetil>().damage(damage); } } arrow.collisionOccurred = true; arrow.arrowHead.SetActive(false); arrow._rBody.velocity = Vector3.zero; arrow._rBody.isKinematic = true; arrow._rBody.constraints = RigidbodyConstraints.FreezeAll; }
public void ItemCollision(RaycastHit2D hit, ArrowMoviment arrow) { FindObjectOfType <AudioManager>().Play("brustArrow"); communAction(arrow); Destroy(arrow.gameObject); }
public void ProjetilCollision2(RaycastHit2D hit, ArrowMoviment arrow) { communAction(arrow); Destroy(arrow.gameObject, 8); }
public void ProtectionCollision(RaycastHit2D hit, ArrowMoviment arrow) { FindObjectOfType <AudioManager>().Play("piercingArrow"); }
public void GroundCollision(RaycastHit2D hit, ArrowMoviment arrow) { FindObjectOfType <AudioManager>().Play("arrowOnGround"); communAction(arrow); Destroy(arrow.gameObject, 5); }