public override void _Ready() { CurrentHp = MaxHp; if (_damageReceiverComponentPath != null) { _damageReceiverComponent = GetNodeOrNull <DamageReceiverComponent>(_damageReceiverComponentPath); _damageReceiverComponent?.Connect(nameof(DamageReceiverComponent.DamageReceived), this, nameof(OnDamageReceived)); } }
public void HandleHit(DamageReceiverComponent damageReceiverComponent) { if (_hits >= _maxHits) { return; } _hits++; SpawnHitEffect(); damageReceiverComponent.HandleHit(this); if (_hits >= _maxHits) { _projectileDeleterComponent?.Delete(); } }