示例#1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        TakesDamage tD = collision.GetComponent <TakesDamage>();

        if (tD != null)
        {
            tD.TakeDamage();
        }
        Destroy(gameObject);
    }
示例#2
0
    bool DealDamage(GameObject target, int damage_amount = 0)
    {
        // if amount is 0, use
        TakesDamage takesDamage = target.GetComponent <TakesDamage>();

        if (takesDamage == null)
        {
            return(false);
        }
        if (damage_amount == 0)
        {
            damage_amount = amount;
        }
        if (ondealdamageCallback)
        {
            SendMessage("OnDealDamage", target, SendMessageOptions.DontRequireReceiver);
        }
        takesDamage.TakeDamage(damage_amount, gameObject);
        if (removeOnDamage)
        {
            stTools.Remove(gameObject, 0);
        }
        return(true);
    }