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; }
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; }