void OnTriggerEnter(Collider col) { if (col.GetComponent <HealthShield>() != null) { HealthShield enemy = col.GetComponent <HealthShield>(); enemy.takeDmg(bulletDamage); } if (col.gameObject.tag != "Bullet" && col.gameObject.tag != "Player") { Vector3 explosionPos = this.transform.position; Collider[] colliders = Physics.OverlapSphere(explosionPos, radius); foreach (Collider hit in colliders) { Rigidbody rb = hit.GetComponent <Rigidbody>(); if (rb != null) { rb.AddExplosionForce(power, explosionPos, radius, 3.0f, ForceMode.Force); } } Object bulletHit = Instantiate(bullethiteffect, this.transform.position, this.transform.rotation); Destroy(this.gameObject); Destroy(bulletHit, 1.0f); } Destroy(this.gameObject); }
void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { if (pickupType == 1) { GameObject Player = GameObject.Find("PlayerPrefab"); HealthShield hsclass = Player.GetComponent <HealthShield>(); if (hsclass.health < hsclass.maxHealth) { gameObject.SetActive(false); hsclass.health += healamount; if (hsclass.health >= hsclass.maxHealth) { hsclass.health = hsclass.maxHealth; } } } else if (pickupType == 2) { GameObject Player = GameObject.Find("PlayerPrefab"); HealthShield hsclass = Player.GetComponent <HealthShield>(); if (hsclass.shield < hsclass.maxShield) { Destroy(gameObject); hsclass.shield += shieldamount; if (hsclass.shield >= hsclass.maxShield) { hsclass.shield = hsclass.maxShield; } } } } }