2026-08-12 12:11:13 +03:00

29 lines
920 B
C#

using UnityEngine;
namespace RaceFields.Damage.VehicleDamage
{
public sealed class DamageHitbox : MonoBehaviour
{
[SerializeField] private VehicleDamageController damageController;
[SerializeField] private VehicleModuleType moduleType = VehicleModuleType.Body;
[SerializeField] private float damageMultiplier = 1f;
public VehicleModuleType ModuleType => moduleType;
private void Awake()
{
if (damageController == null)
damageController = GetComponentInParent<VehicleDamageController>();
}
public void ApplyDamage(DamageHit hit)
{
if (damageController == null)
return;
DamageHit scaledHit = new DamageHit(hit.Amount * damageMultiplier, hit.Type, hit.Point, hit.Direction, hit.Source);
damageController.ApplyDamage(moduleType, scaledHit);
}
}
}