Beispiel #1
0
    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);
    }
Beispiel #2
0
    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;
                    }
                }
            }
        }
    }