mirror of
https://github.com/D1GQ/BetterAmongUs.git
synced 2026-10-20 01:46:19 +00:00
fix no name and error
This commit is contained in:
1 parent
7d8cf80dc8
commit
e1056dce6a
3 files changed
+26
-12
No files matched your search
@@ -9,7 +9,7 @@ public static class PlayerControlDataExtension
|
||||
public class ExtendedPlayerInfo
|
||||
{
|
||||
public NetworkedPlayerInfo? _Data { get; set; }
|
||||
public string RealName { get; set; } = string.Empty;
|
||||
public string? RealName { get; set; }
|
||||
public Dictionary<byte, string> LastNameSetFor { get; set; } = [];
|
||||
public bool IsBetterUser { get; set; } = false;
|
||||
public bool IsBetterHost { get; set; } = false;
|
||||
@@ -58,6 +58,11 @@ public static class PlayerControlDataExtension
|
||||
if (player.IsAlive() || player.Data.RoleType == RoleTypes.GuardianAngel)
|
||||
player.BetterData().RoleInfo.DeadDisplayRole = player.Data.RoleType;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(player.BetterData().RealName))
|
||||
{
|
||||
player.BetterData().RealName = player.Data.PlayerName;
|
||||
}
|
||||
}
|
||||
|
||||
// Get BetterData from PlayerControl
|
||||
@@ -104,6 +109,7 @@ public static class PlayerControlDataExtension
|
||||
playerInfo[player.Data.Puid] = new ExtendedPlayerInfo
|
||||
{
|
||||
_Data = player.Data,
|
||||
RealName = player.Data.PlayerName,
|
||||
RoleInfo = new ExtendedRoleInfo()
|
||||
};
|
||||
}
|
||||
|
||||
@@ -226,6 +226,11 @@ internal static class RPC
|
||||
|
||||
switch (callId)
|
||||
{
|
||||
case (byte)RpcCalls.SetName:
|
||||
reader.ReadUInt32();
|
||||
var name = reader.ReadString();
|
||||
player.BetterData().RealName = name;
|
||||
break;
|
||||
case (byte)RpcCalls.SendChat:
|
||||
var text = reader.ReadString();
|
||||
|
||||
|
||||
@@ -21,21 +21,24 @@ class GamePlayManager
|
||||
}
|
||||
|
||||
// Clear unused Better Data
|
||||
var keysToRemove = new List<string>();
|
||||
|
||||
foreach (var betterInfo in PlayerControlDataExtension.playerInfo)
|
||||
try
|
||||
{
|
||||
if (!Main.AllPlayerControls.Any(pc => pc.Data.Puid == betterInfo.Key))
|
||||
var keysToRemove = new List<string>();
|
||||
|
||||
foreach (var betterInfo in PlayerControlDataExtension.playerInfo)
|
||||
{
|
||||
keysToRemove.Add(betterInfo.Key);
|
||||
if (!Main.AllPlayerControls.Any(pc => pc.Data.Puid == betterInfo.Key))
|
||||
{
|
||||
keysToRemove.Add(betterInfo.Key);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var key in keysToRemove)
|
||||
{
|
||||
PlayerControlDataExtension.playerInfo.Remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var key in keysToRemove)
|
||||
{
|
||||
PlayerControlDataExtension.playerInfo.Remove(key);
|
||||
}
|
||||
|
||||
catch { }
|
||||
}
|
||||
[HarmonyPatch(nameof(LobbyBehaviour.Start))]
|
||||
[HarmonyPostfix]
|
||||
|
||||
Reference in new issue
Block a user