예제 #1
0
    void OnTriggerEnter(Collider collider)
    {
        EntityOLD entity = collider.gameObject.GetComponentInParent <EntityOLD>();

        if (entity != null)
        {
            if (entity.IsVulnerable() && (targets.Contains(entity) || damageAny == true))
            {
                if (entity.GetComponent <AIController>() != null)
                {
                    entity.TriggerEventDamagedByEntity(originEntity);
                }
                entity.ModifyHealth(-damage);
                entity.CommandSufferPushback(originEntity.transform.position);
            }
        }

        else
        {
            Destructable destructable = collider.gameObject.GetComponent <Destructable>();

            if (destructable != null)
            {
                destructable.Damage(damage);
            }
        }
    }
예제 #2
0
    private void HurtEntityOnTouch(Collision collision)
    {
        EntityOLD touchedEntity = collision.collider.GetComponentInParent <EntityOLD>();

        if (touchedEntity != null)
        {
            if (GetComponent <AIController>() != null)
            {
                if (GetComponent <AIController>().GetNearbyEnemiesAndHostiles(this).Contains(touchedEntity))
                {
                    if (touchedEntity.GetComponent <AIController>() != null)
                    {
                        touchedEntity.TriggerEventDamagedByEntity(this);
                    }
                    touchedEntity.ModifyHealth(-10f);
                    touchedEntity.CommandSufferPushback(transform.position);
                }
            }
        }
    }