Replace the stupid MyMultiplayer.GetMemberName with something that actually works.
This commit is contained in:
@@ -19,5 +19,20 @@ namespace Torch
|
||||
return null;
|
||||
return collection.TryGetPlayerById(playerId, out MyPlayer player) ? player : null;
|
||||
}
|
||||
|
||||
public static string TryGetPlayerName(this MyPlayerCollection collection, ulong steamId, int serialId = 0)
|
||||
{
|
||||
return collection.TryGetPlayerBySteamId(steamId, serialId)?.DisplayName ?? $"ID: {steamId}";
|
||||
}
|
||||
|
||||
public static string TryGetPlayerName(this MyPlayerCollection collection, long identityId)
|
||||
{
|
||||
if (!collection.TryGetPlayerId(identityId, out MyPlayer.PlayerId playerId))
|
||||
return null;
|
||||
|
||||
collection.TryGetPlayerById(playerId, out MyPlayer player);
|
||||
|
||||
return player?.DisplayName ?? $"ID: {collection.TryGetSteamId(identityId)}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -167,7 +167,7 @@ namespace Torch.Managers.ChatManager
|
||||
|
||||
public static string GetMemberName(ulong steamId)
|
||||
{
|
||||
return MyMultiplayer.Static?.GetMemberName(steamId) ?? $"user_{steamId}";
|
||||
return MySession.Static.Players.TryGetPlayerName(steamId);
|
||||
}
|
||||
|
||||
internal class ChatIntercept : NetworkHandlerBase, INetworkHandler
|
||||
|
@@ -100,7 +100,7 @@ namespace Torch.Managers
|
||||
/// <inheritdoc />
|
||||
public string GetSteamUsername(ulong steamId)
|
||||
{
|
||||
return MyMultiplayer.Static.GetMemberName(steamId);
|
||||
return MySession.Static.Players.TryGetPlayerName(steamId);
|
||||
}
|
||||
|
||||
private void OnClientLeft(ulong steamId, MyChatMemberStateChangeEnum stateChange)
|
||||
|
@@ -34,7 +34,7 @@ namespace Torch.ViewModels
|
||||
public PlayerViewModel(ulong steamId, string name = null)
|
||||
{
|
||||
SteamId = steamId;
|
||||
Name = name ?? ((MyDedicatedServerBase)MyMultiplayerMinimalBase.Instance).GetMemberName(steamId);
|
||||
Name = name ?? MySession.Static.Players.TryGetPlayerName(steamId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user