public static Task PublishPlayerDeadEvent(this IEventBus eventBus, string player) { var deathEvent = new PlayerDeadEvent(player); eventBus.Publish(nameof(PlayerDeadEvent), deathEvent); return(Task.CompletedTask); }
public void DealDamage(int damageDealt) { int clampedHealth = Mathf.Clamp(_player.Health - damageDealt, 0, _player.HealthMax); _player.Health = clampedHealth; PlayerDealtDamageEvent?.Invoke(damageDealt); if (_player.Health <= 0) { PlayerDeadEvent?.Invoke(); } }
private void OnPlayerDead() { PlayerDeadEvent?.Invoke(); }
void OnPlayerDead(PlayerDeadEvent @event) { Debug.WriteLine($"[OnPlayerDead]{@event.Victim.Handle}, {@event.Attacker.Handle}, " + $"{@event.WeaponInfoHash}, {@event.IsMelee}, {@event.DamageType}"); }