Ejemplo n.º 1
0
        public static Task PublishPlayerDeadEvent(this IEventBus eventBus, string player)
        {
            var deathEvent = new PlayerDeadEvent(player);

            eventBus.Publish(nameof(PlayerDeadEvent), deathEvent);
            return(Task.CompletedTask);
        }
Ejemplo n.º 2
0
    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();
        }
    }
Ejemplo n.º 3
0
 private void OnPlayerDead()
 {
     PlayerDeadEvent?.Invoke();
 }
Ejemplo n.º 4
0
 void OnPlayerDead(PlayerDeadEvent @event)
 {
     Debug.WriteLine($"[OnPlayerDead]{@event.Victim.Handle}, {@event.Attacker.Handle}, " +
                     $"{@event.WeaponInfoHash}, {@event.IsMelee}, {@event.DamageType}");
 }