Exemple #1
0
        private void OnPlayerDamaged(SDG.Unturned.Player uPlayer, ref EDeathCause cause, ref ELimb limb, ref CSteamID killerId, ref global::UnityEngine.Vector3 direction, ref float damage, ref float times, ref bool canDamage)
        {
            if (uPlayer == null)
            {
                return;
            }

            playerManager.TryGetOnlinePlayerById(uPlayer.channel.owner.playerID.steamID.ToString(), out var player);
            playerManager.TryGetOnlinePlayerById(killerId.m_SteamID.ToString(), out var killer);

            UnturnedPlayerDamagedEvent damageEvent =
                new UnturnedPlayerDamagedEvent(player, cause, limb, killer?.User, direction.ToSystemVector(), damage, times)
            {
                IsCancelled = !canDamage
            };

            eventManager.Emit(this, damageEvent);
            cause     = damageEvent.DeathCause;
            limb      = damageEvent.Limb;
            killerId  = damageEvent.DamageDealer != null ? new CSteamID(ulong.Parse(damageEvent.DamageDealer.Id)) : CSteamID.Nil;
            direction = damageEvent.Direction.ToUnityVector();
            damage    = (float)damageEvent.Damage;
            times     = damageEvent.Times;
            canDamage = !damageEvent.IsCancelled;
        }
        private void OnPlayerDamaged(SDG.Unturned.Player uPlayer, ref EDeathCause cause, ref ELimb limb, ref CSteamID killerId, ref Vector3 direction, ref float damage, ref float times, ref bool canDamage)
        {
            var player = playerManager.GetOnlinePlayerById(uPlayer.channel.owner.playerID.steamID.m_SteamID.ToString());
            var killer = playerManager.GetOnlinePlayerById(killerId.m_SteamID.ToString());

            UnturnedPlayerDamagedEvent @event =
                new UnturnedPlayerDamagedEvent(player, cause, limb, killer.GetUser(), direction, damage, times)
            {
                IsCancelled = !canDamage
            };

            eventManager.Emit(this, @event);
            cause     = @event.DeathCause;
            limb      = @event.Limb;
            killerId  = @event.DamageDealer != null ? new CSteamID(ulong.Parse(@event.DamageDealer.Id)) : CSteamID.Nil;
            direction = @event.Direction;
            damage    = (float)@event.Damage;
            times     = @event.Times;
            canDamage = [email protected];
        }