Exemple #1
0
        public override void _Ready()
        {
            CurrentHp = MaxHp;

            if (_damageReceiverComponentPath != null)
            {
                _damageReceiverComponent = GetNodeOrNull <DamageReceiverComponent>(_damageReceiverComponentPath);
                _damageReceiverComponent?.Connect(nameof(DamageReceiverComponent.DamageReceived), this, nameof(OnDamageReceived));
            }
        }
Exemple #2
0
        public void HandleHit(DamageReceiverComponent damageReceiverComponent)
        {
            if (_hits >= _maxHits)
            {
                return;
            }
            _hits++;
            SpawnHitEffect();

            damageReceiverComponent.HandleHit(this);

            if (_hits >= _maxHits)
            {
                _projectileDeleterComponent?.Delete();
            }
        }