コード例 #1
0
        public static void InvokePlayerDeath(PlayerStats stats, ref PlayerStats.HitInfo hitInfo, GameObject player, int playerId = 0)
        {
            if (PlayerDeathEvent == null)
            {
                return;
            }

            PlayerDeathEvent ev = new PlayerDeathEvent()
            {
                Killer = playerId == 0 ? stats.gameObject.GetPlayer() : Player.GetPlayer(playerId),
                Player = player.GetPlayer(),
                Info   = hitInfo
            };

            if (string.IsNullOrEmpty(ev.Player.GetUserId()) || ev.Player.GetRole() == RoleType.Spectator)
            {
                return;
            }

            PlayerDeathEvent.InvokeSafely(ev);

            hitInfo = ev.Info;
        }
コード例 #2
0
ファイル: PlayerEvents.cs プロジェクト: Killers0992/EXILED
        public static void InvokePlayerDeath(PlayerStats stats, ref PlayerStats.HitInfo info, GameObject obj, int pid = 0)
        {
            PlayerDeath playerDeath = PlayerDeathEvent;

            if (playerDeath == null)
            {
                return;
            }

            PlayerDeathEvent ev = new PlayerDeathEvent()
            {
                Killer = pid == 0 ? stats.gameObject.GetPlayer() : Player.GetPlayer(pid),
                Player = Player.GetPlayer(obj),
                Info   = info
            };

            if (string.IsNullOrEmpty(ev.Player.characterClassManager.UserId))
            {
                return;
            }

            playerDeath?.Invoke(ref ev);
            info = ev.Info;
        }