Exemplo n.º 1
0
    public virtual void OnTriggerEnter(Collider col)
    {
        //Safety check for enemy/player entities
        string s  = "";
        string s1 = "";

        if (m_Mode.Equals(ProjectileMode.Player))
        {
            s  = "Enemy";
            s1 = "Player";
        }
        else
        {
            s  = "Player";
            s1 = "Enemy";
        }

        //Deal damage
        if (col.gameObject.tag == s)
        {
            if (col.gameObject.GetComponent <EntityStats>())
            {
                col.gameObject.GetComponent <EntityStats>().ChangeHealth(-m_TotalDamage);
            }
        }

        //What happens when projectile hits something
        if (col.gameObject.tag != s1 && col.gameObject.tag != "Projectile" && col.gameObject.tag != "HitCollider")
        {
            if (m_OnDestroySpawn && m_OnDestroyNum > 0)
            {
                if (m_OnDestroySpawn != this.gameObject)
                {
                    for (int i = 0; i < m_OnDestroyNum; i++)
                    {
                        GameObject clone = (GameObject)Instantiate(m_OnDestroySpawn, transform.position, transform.rotation);
                        if (clone.GetComponent <Projectile>())
                        {
                            clone.GetComponent <Projectile>().m_Mode = m_Mode;
                        }
                    }
                }
            }

            Destroy(gameObject);
        }
    }