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