public void AddHitPointFeedback(IDamageAble damagable)
 {
     if (damagable != null)
     {
         hitPointInfo.parent.SetActive(true);
         damagable.AddDamageFeedback(hitPointInfo.healthBar, hitPointInfo.healthText);
     }
 }
        void OnTriggerEnter2D(Collider2D other)
        {
            IDamageAble damageAble = other.GetComponent <IDamageAble>();

            if (damageAble != null)
            {
                damageAble.OnDamage(this.AttackPower, this);
            }
        }
Exemple #3
0
 void RPC_DoDamage(int _damage)
 {
     currentHealth -= _damage;
     if (damageObject == null)
     {
         damageObject = GetComponent <IDamageAble>();
     }
     damageObject.UpdateDamage(currentHealth);
 }
Exemple #4
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        //Debug.Log("Hit:"+collision.name);
        IDamageAble hit = collision.GetComponent <IDamageAble>();

        if (hit != null)
        {
            hit.Damage();
        }
    }
Exemple #5
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "Player")
     {
         IDamageAble Hit = collision.GetComponent <IDamageAble>();
         if (Hit != null)
         {
             Hit.Damage();
             Destroy(this.gameObject);
         }
     }
 }
Exemple #6
0
    void OnTriggerEnter(Collider other)
    {
        IDamageAble damageAble = other.GetComponentInParent <IDamageAble>();

        if (damageAble != null)
        {
            Debug.Log("물체가 부딛혔습니다.");
            if (other.CompareTag("MyCharacter"))
            {
                damageAble.TakeHit(damage, other);
                Instantiate(effect, gameObject.transform.position, gameObject.transform.rotation);
                Destroy(gameObject);
            }
        }
    }
Exemple #7
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.CompareTag(damageTag))
     {
         collision.gameObject.GetComponent <IDamageAble>().TakeDamage(amount);
     }
     else
     {
         IDamageAble temp = collision.gameObject.GetComponent <IDamageAble>();
         if (temp != null)
         {
             temp.TakeDamage(0);
         }
     }
 }
Exemple #8
0
    void OnTriggerEnter(Collider other)
    {
        IDamageAble damageAbleObject = other.GetComponentInParent <IDamageAble>();

        if (damageAbleObject != null)
        {
            if (!other.CompareTag("MyCharacter"))
            {
                damageAbleObject.TakeHit(damage, other);
                Instantiate(effect, gameObject.transform.position, gameObject.transform.rotation);
                GameObject.Destroy(gameObject);
                Debug.Log(other.name + " 물체에게 " + damage + "의 피해를 줬습니다. ");
            }
        }
        else
        {
            Debug.Log("idamageAble 물체가 아닙니다." + other.name);
        }
    }
Exemple #9
0
        protected override void OnTriggerSpecific(Collider other)
        {
            base.OnTriggerSpecific(other);

            if (other.CompareTag(gameObject.tag))
            {
                return;
            }

            GameObjectDestroyByContact otherGameObjectDestroyByContact = other.GetComponent <GameObjectDestroyByContact>();
            IDamageAble gameObjectDamageAble = gameObject.GetComponent <IDamageAble>();

            if (gameObjectDamageAble != null)
            {
                if (otherGameObjectDestroyByContact != null)
                {
                    gameObjectDamageAble.TakeDamage(otherGameObjectDestroyByContact.DamageValue);
                }
                else
                {
                    gameObjectDamageAble.TakeDamage(1);
                }
            }
            else
            {
                Destroy(gameObject);
            }

            IDamageAble otherGameObjectDamageAble = other.GetComponent <IDamageAble>();

            if (otherGameObjectDamageAble != null)
            {
                otherGameObjectDamageAble.TakeDamage(DamageValue);
            }
            else
            {
                Destroy(other.gameObject);
            }
        }
Exemple #10
0
        void OnTriggerEnter2D(Collider2D other)
        {
            TileMapObject objUnit = other.GetComponent <TileMapObject>();

            if (objUnit)
            {
                IDamageAble damageAbleObj = objUnit.GetComponentInParent <IDamageAble>();
                if (damageAbleObj != null)
                {
                    IAttackAble attackAble = actor as IAttackAble;
                    if (damageAbleObj != null && attackAble != null)
                    {
                        damageAbleObj.OnDamage(attackAble.AttackPower, attackAble);
                    }

                    StopMove();
                }

                if (!this.warpping)
                {
                    Portal portal = objUnit.GetComponentInParent <Portal>();
                    if (portal)
                    {
                        EnterPortal(portal);
                    }
                }

                if (!this.warpping)
                {
                    EnterToOtherMap[] enterToOtherMapList = objUnit.GetComponentsInParent <EnterToOtherMap>();
                    if (enterToOtherMapList != null && enterToOtherMapList.Length > 0)
                    {
                        EnterToOtherMap enterToOtherMap = enterToOtherMapList[0];
                        enterToOtherMap.EnterBy(this.actor);
                    }
                }
            }
        }
Exemple #11
0
 public void SetDamageTarget(Transform chaseTarget)
 {
     DamageTarget = chaseTarget.GetComponent <IDamageAble>();
 }