private void OnTriggerEnter2D(Collider2D collision) { TakesDamage tD = collision.GetComponent <TakesDamage>(); if (tD != null) { tD.TakeDamage(); } Destroy(gameObject); }
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); }