Exemplo n.º 1
0
    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)]);
            }
        }
    }
Exemplo n.º 2
0
    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");
        }
    }