public void RegisterNewDamage(WeaponHitMessage weaponHitMessage) { if (_blockedWeaponIds.Contains(weaponHitMessage.Weapon.GetInstanceID())) { return; } _unresolvedHitMessages.Add(weaponHitMessage); _nextReset = Time.time + _timeDeltaWait; }
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 }
private void HandleWeaponHit(WeaponHitMessage weaponHitMessage) { Stats.AddAmount(StatsEnum.Health, -weaponHitMessage.Damage); Stats.AddAmount(StatsEnum.Stability, -weaponHitMessage.StabilityDamage); }
private void HandleWeaponHit(WeaponHitMessage weaponHitMessage) { _characterDamage.RegisterNewDamage(weaponHitMessage); }