Ejemplo n.º 1
0
    void OnTriggerEnter(Collider c)
    {
        if (!m_active || !m_damage_on_enter)
        {
            return;
        }

        GEntity target = c.gameObject.GetComponent <GEntity>();

        if (target != null && (target.m_team_id != m_owner.m_team_id || friendly_fire))
        {
            target.Damage(m_damage);
        }

        //Destroy on collision with anything but the owner, if destroy_on_enter.
        if (m_destroy_on_enter && (target == null || target != m_owner))
        {
            if (m_hit_particle)
            {
                Instantiate(m_hit_particle, transform.position, Quaternion.identity);
            }

            Destroy(gameObject);
        }
    }
Ejemplo n.º 2
0
    void OnTriggerExit(Collider c)
    {
        if (!m_active || !m_damage_on_exit)
        {
            return;
        }

        GEntity target = c.GetComponent <GEntity>();

        if (target != null && (target.m_team_id != m_owner.m_team_id || friendly_fire))
        {
            target.Damage(m_damage);
        }
    }
Ejemplo n.º 3
0
    void OnTriggerStay(Collider c)
    {
        if (!m_active ||
            !m_damage_on_stay ||
            !m_stay_damage_begin_timer.IsComplete() ||
            !m_stay_damage_repeat_timer.IsComplete()
            )
        {
            return;
        }

        GEntity target = c.GetComponent <GEntity>();

        if (target != null && (target.m_team_id != m_owner.m_team_id || friendly_fire))
        {
            target.Damage(m_damage);
        }
    }