/// <summary> Наносит вред указанному разрушаемому объекту </summary> void Damage(Destructable_Object target, int damage) { if (target != null) { if (Can_Damage(target)) //Если этому объекту разрешено наносить вред { if (target.TakeDamage(damage)) //Наносим вред, если объект в итоге полностью разрушен { Add_Score(); //Добавляем очки хозяину снаряда } } } }
/// <summary> Наносит урон указанной цели </summary> void Damage_To(Destructable_Object target) { Vector3 distance; int damage; bool is_destroy; if (Can_Damage(target)) { distance = target.transform.position - transform.position; damage = Get_Damage(distance.magnitude); is_destroy = target.TakeDamage(damage); if (is_destroy) { owner.score += score; } } }