示例#1
0
 public void OnDied(IHealthTrackingEntity e)
 {
     if (e == this)
     {
         _playerEvents.SendPlayerDied();
         _entityController.DestroyEntity(this);
     }
 }
示例#2
0
 public void Init(IHealthTrackingEntity owner, HPTraitData hpData, BaseGameEvents.HPEvents events)
 {
     _events               = events;
     _data                 = hpData;
     _owner                = owner;
     _maxHP                = _data.MaxHP;
     _hp                   = _data.StartHP;
     _regen                = _data.Regen;
     _regenAmount          = _data.RegenAmount;
     _timeUnitsForHPRefill = _data.RegenRate;
 }
示例#3
0
    private void EntityHealth(IHealthTrackingEntity entity, int delta, bool heal, bool attack, bool regen)
    {
        EntityHealthEvent evt = CreateEvent <EntityHealthEvent>();

        evt.name     = entity.Name;
        evt.isPlayer = true;
        evt.isHeal   = heal;
        evt.isAttack = attack;
        evt.isRegen  = regen;
        evt.delta    = delta;
        AddEvent(evt);
    }
示例#4
0
    private void OnHealthEvent(IHealthTrackingEntity entity, int delta, bool arg3, bool arg4, bool arg5)
    {
#pragma warning disable CS0252 // Posible comparación de referencias involuntaria: El lado de la mano izquierda necesita conversión
        if (entity != this)
#pragma warning restore CS0252 // Posible comparación de referencias involuntaria: El lado de la mano izquierda necesita conversión
        {
            return;
        }

        bool canBeAbsorbed = CanBeAbsorbed();
        if (_absorbableView != null)
        {
            _absorbableView.SetActive(canBeAbsorbed);
        }

        if (canBeAbsorbed)
        {
            _absorbEvents.SendAbsorbReady(this);
        }
    }
示例#5
0
 public void SendHealthEvent(IHealthTrackingEntity entity, int delta, bool healed, bool attacked, bool regen)
 {
     HealthEvent?.Invoke(entity, delta, healed, attacked, regen);
 }
示例#6
0
 public void SendMaxHPChanged(IHealthTrackingEntity owner)
 {
     MaxHealthChanged?.Invoke(owner);
 }
示例#7
0
 public void SendHealthExhausted(IHealthTrackingEntity entity)
 {
     HealthExhausted?.Invoke(entity);
 }