예제 #1
0
    private void OnTriggerStay(Collider other)
    {
        IDamaging damaging = GetIDamaging(other.gameObject);

        if (damaging != null && _damageable != null && this.gameObject.tag != damaging.IgnoreCollisionTag)
        {
            if (damaging.DamageType == DamageType.OVER_TIME || damaging.DamageType == DamageType.BOTH)
            {
                bool blocked = _damageable.TakeDamage(damaging.DamageOverTime * Time.deltaTime);
                damaging.RegisterHit(blocked);
            }
        }
    }
예제 #2
0
    private void OnTriggerEnter(Collider other)
    {
        IDamaging damaging = GetIDamaging(other.gameObject);

        if (damaging != null && _damageable != null && this.gameObject.tag != damaging.IgnoreCollisionTag)
        {
            if (damaging.DamageType == DamageType.INSTANTANEOUS || damaging.DamageType == DamageType.BOTH)
            {
                bool blocked = _damageable.TakeDamage(damaging.DamageInstantaneous);
                damaging.RegisterHit(blocked);
            }
        }
    }