示例#1
0
 public void RegisterNewDamage(WeaponHitMessage weaponHitMessage)
 {
     if (_blockedWeaponIds.Contains(weaponHitMessage.Weapon.GetInstanceID()))
     {
         return;
     }
     _unresolvedHitMessages.Add(weaponHitMessage);
     _nextReset = Time.time + _timeDeltaWait;
 }
示例#2
0
 private void HandleTakeDamage(WeaponHitMessage message)
 {
     Debug.LogFormat("Shield hit");
     message.Weapon.GetPubSub().PublishMessageInContext(new WeaponBlockedMessage()); // notify weapon object
     this.GetPubSub().PublishMessageInContext(new ShieldHitMessage(message.Weapon)
     {
         EnergyDamage   = (int)(message.AfterBlockEnergyDamage * ShieldEnergyDamageRatio),
         OriginalDamage = message.Damage
     }); // notify parent object
 }
示例#3
0
 private void HandleWeaponHit(WeaponHitMessage weaponHitMessage)
 {
     Stats.AddAmount(StatsEnum.Health, -weaponHitMessage.Damage);
     Stats.AddAmount(StatsEnum.Stability, -weaponHitMessage.StabilityDamage);
 }
示例#4
0
 private void HandleWeaponHit(WeaponHitMessage weaponHitMessage)
 {
     _characterDamage.RegisterNewDamage(weaponHitMessage);
 }