private void OnTriggerEnter(Collider collider) { Weapon w; if (w = collider.GetComponent <Weapon>()) { //Get Entity if (w.transform.root.GetComponent <Entity>().faction == faction) { return; } ScriptableWeapon weaponData = (ScriptableWeapon)w.data; TakeDamage(this, weaponData.damage); am.SetTrigger("hit"); Instantiate(bloodSplash, collider.transform.position, Quaternion.identity); target = collider.transform.root; w.GetComponent <Collider>().enabled = false; DamageIndicatorItem i = Instantiate(indItem, transform.Find("DamageIndicator")).GetComponent <DamageIndicatorItem>(); i.damage = (int)weaponData.damage; i.c = Color.red; i.speed = Random.Range(1f, 2f); if (!GetComponent <AudioSource>().isPlaying) { GetComponent <AudioSource>().PlayOneShot(grunts[Random.Range(0, grunts.Count - 1)]); } } }
private void OnTriggerEnter(Collider other) { Item i; if ((i = other.GetComponent <Item> ()) != null && i.isOnGround && selectedItem == null) { selectedItem = i.gameObject; i.DisplayItemInfos(); return; } Weapon w; if ((w = other.GetComponent <Weapon>()) != null && !w.isOnGround && w.transform.root != transform) { ScriptableWeapon weaponData = (ScriptableWeapon)w.data; w.GetComponent <Collider>().enabled = false; TakeDamage(this, weaponData.damage); if (!GetComponent <AudioSource>().isPlaying) { GetComponent <AudioSource>().PlayOneShot(grunts[Random.Range(0, grunts.Count - 1)]); } DamageIndicatorItem ind = Instantiate(indItem, transform.Find("DamageIndicator")).GetComponent <DamageIndicatorItem>(); ind.damage = (int)weaponData.damage; ind.c = Color.red; ind.speed = Random.Range(1f, 2f); am.SetTrigger("hit"); } }