Use id structs

This commit is contained in:
D1GQ committed 2026-08-21 18:53:58 -05:00
1 parent 0a0e5ea983
commit 671db2ed45
14 files changed
+35 -22

No files matched your search

+2 -1
View File
@@ -1,6 +1,7 @@
using AmongUs.GameOptions; using AmongUs.GameOptions;
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -19,7 +20,7 @@ internal sealed class AppearReplayEvent : IReplayEvent<AppearReplayEvent.AppearR
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+2 -1
View File
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -18,7 +19,7 @@ internal sealed class ChatEvent : IReplayEvent<ChatEvent.ChatReplayData, ChatEve
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+2 -1
View File
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -18,7 +19,7 @@ internal sealed class ChatNoteEvent : IReplayEvent<ChatNoteEvent.ChatNoteReplayD
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+3 -2
View File
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -15,11 +16,11 @@ internal sealed class MurderReplayEvent : IReplayEvent<MurderReplayEvent.MurderR
public void Play() public void Play()
{ {
var killer = Utils.PlayerFromPlayerId(EventData.KillerId); var killer = Utils.PlayerFromPlayerId((PlayerId)EventData.KillerId);
if (killer == null) if (killer == null)
return; return;
var target = Utils.PlayerFromPlayerId(EventData.TargetId); var target = Utils.PlayerFromPlayerId((PlayerId)EventData.TargetId);
if (target == null) if (target == null)
return; return;
+3 -2
View File
@@ -1,6 +1,7 @@
using AmongUs.GameOptions; using AmongUs.GameOptions;
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -19,11 +20,11 @@ internal sealed class ProtectReplayEvent : IReplayEvent<ProtectReplayEvent.Prote
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
var target = Utils.PlayerFromPlayerId(EventData.TargetId); var target = Utils.PlayerFromPlayerId((PlayerId)EventData.TargetId);
if (target == null) if (target == null)
return; return;
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -18,7 +19,7 @@ internal sealed class ProtectedReplayEvent : IReplayEvent<ProtectedReplayEvent.P
if (EventData == null) if (EventData == null)
return; return;
var target = Utils.PlayerFromPlayerId(EventData.TargetId); var target = Utils.PlayerFromPlayerId((PlayerId)EventData.TargetId);
if (target == null) if (target == null)
return; return;
+2 -1
View File
@@ -1,6 +1,7 @@
using AmongUs.GameOptions; using AmongUs.GameOptions;
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -19,7 +20,7 @@ internal sealed class SetRoleEvent : IReplayEvent<SetRoleEvent.SetRoleReplayData
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
@@ -1,6 +1,7 @@
using AmongUs.GameOptions; using AmongUs.GameOptions;
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -19,11 +20,11 @@ internal sealed class ShapeshiftReplayEvent : IReplayEvent<ShapeshiftReplayEvent
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
var target = Utils.PlayerFromPlayerId(EventData.TargetId); var target = Utils.PlayerFromPlayerId((PlayerId)EventData.TargetId);
if (target == null) if (target == null)
return; return;
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -18,7 +19,7 @@ internal sealed class UpdateSystemReplayEvent : IReplayEvent<UpdateSystemReplayE
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+2 -1
View File
@@ -1,6 +1,7 @@
using AmongUs.GameOptions; using AmongUs.GameOptions;
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -19,7 +20,7 @@ internal sealed class VanishReplayEvent : IReplayEvent<VanishReplayEvent.VanishR
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+2 -1
View File
@@ -1,5 +1,6 @@
using BetterAmongUs.Interfaces; using BetterAmongUs.Interfaces;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using InnerNet;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace BetterAmongUs.Data.Replay.Events; namespace BetterAmongUs.Data.Replay.Events;
@@ -18,7 +19,7 @@ internal sealed class VentReplayEvent : IReplayEvent<VentReplayEvent.VentReplayD
if (EventData == null) if (EventData == null)
return; return;
var player = Utils.PlayerFromPlayerId(EventData.PlayerId); var player = Utils.PlayerFromPlayerId((PlayerId)EventData.PlayerId);
if (player == null) if (player == null)
return; return;
+2 -1
View File
@@ -1,6 +1,7 @@
using BetterAmongUs.Generated; using BetterAmongUs.Generated;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using BetterAmongUs.Utilities.Extension; using BetterAmongUs.Utilities.Extension;
using InnerNet;
using UnityEngine; using UnityEngine;
namespace BetterAmongUs.Modules.OptionItems; namespace BetterAmongUs.Modules.OptionItems;
@@ -238,7 +239,7 @@ public sealed class OptionPlayerItem : OptionItem<int>
{ {
if (Value != -1) if (Value != -1)
{ {
var player = Utils.PlayerFromPlayerId(Value); var player = Utils.PlayerFromPlayerId((PlayerId)Value);
if (player != null) if (player != null)
return $"{player.GetPlayerNameAndColor()}"; return $"{player.GetPlayerNameAndColor()}";
else else
+2 -1
View File
@@ -10,6 +10,7 @@ using BetterAmongUs.Patches.Gameplay.UI.Settings;
using BetterAmongUs.Structs; using BetterAmongUs.Structs;
using BetterAmongUs.Utilities; using BetterAmongUs.Utilities;
using Il2CppInterop.Runtime.Attributes; using Il2CppInterop.Runtime.Attributes;
using InnerNet;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
@@ -217,7 +218,7 @@ internal class PlayerInfoDisplay : MonoBehaviour
} }
else else
{ {
var targetData = Utils.PlayerDataFromPlayerId(_player.shapeshiftTargetPlayerId); var targetData = Utils.PlayerDataFromPlayerId((PlayerId)_player.shapeshiftTargetPlayerId);
if (targetData == null) if (targetData == null)
return; return;
+6 -6
View File
@@ -77,7 +77,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="clientId">The client ID to look up.</param> /// <param name="clientId">The client ID to look up.</param>
/// <returns>The ClientData if found, null otherwise.</returns> /// <returns>The ClientData if found, null otherwise.</returns>
internal static ClientData? ClientFromClientId(int clientId) => internal static ClientData? ClientFromClientId(ClientId clientId) =>
AmongUsClient.Instance.allClients.FirstOrDefaultIl2Cpp(cd => cd.Id == clientId); AmongUsClient.Instance.allClients.FirstOrDefaultIl2Cpp(cd => cd.Id == clientId);
/// <summary> /// <summary>
@@ -85,7 +85,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="playerId">The player ID to look up.</param> /// <param name="playerId">The player ID to look up.</param>
/// <returns>The NetworkedPlayerInfo if found, null otherwise.</returns> /// <returns>The NetworkedPlayerInfo if found, null otherwise.</returns>
internal static NetworkedPlayerInfo? PlayerDataFromPlayerId(int playerId) => internal static NetworkedPlayerInfo? PlayerDataFromPlayerId(PlayerId playerId) =>
GameData.Instance.AllPlayers.FirstOrDefaultIl2Cpp(data => data.PlayerId == playerId); GameData.Instance.AllPlayers.FirstOrDefaultIl2Cpp(data => data.PlayerId == playerId);
/// <summary> /// <summary>
@@ -93,7 +93,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="clientId">The client ID to look up.</param> /// <param name="clientId">The client ID to look up.</param>
/// <returns>The NetworkedPlayerInfo if found, null otherwise.</returns> /// <returns>The NetworkedPlayerInfo if found, null otherwise.</returns>
internal static NetworkedPlayerInfo? PlayerDataFromClientId(int clientId) => internal static NetworkedPlayerInfo? PlayerDataFromClientId(ClientId clientId) =>
GameData.Instance.AllPlayers.FirstOrDefaultIl2Cpp(data => data.ClientId == clientId); GameData.Instance.AllPlayers.FirstOrDefaultIl2Cpp(data => data.ClientId == clientId);
/// <summary> /// <summary>
@@ -109,7 +109,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="playerId">The player ID to look up.</param> /// <param name="playerId">The player ID to look up.</param>
/// <returns>The PlayerControl if found, null otherwise.</returns> /// <returns>The PlayerControl if found, null otherwise.</returns>
internal static PlayerControl? PlayerFromPlayerId(int playerId) => internal static PlayerControl? PlayerFromPlayerId(PlayerId playerId) =>
BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.PlayerId == playerId); BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.PlayerId == playerId);
/// <summary> /// <summary>
@@ -117,7 +117,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="clientId">The client ID to look up.</param> /// <param name="clientId">The client ID to look up.</param>
/// <returns>The PlayerControl if found, null otherwise.</returns> /// <returns>The PlayerControl if found, null otherwise.</returns>
internal static PlayerControl? PlayerFromClientId(int clientId) => internal static PlayerControl? PlayerFromClientId(ClientId clientId) =>
BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.GetClientId() == clientId); BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.GetClientId() == clientId);
/// <summary> /// <summary>
@@ -125,7 +125,7 @@ internal static class Utils
/// </summary> /// </summary>
/// <param name="netId">The network ID to look up.</param> /// <param name="netId">The network ID to look up.</param>
/// <returns>The PlayerControl if found, null otherwise.</returns> /// <returns>The PlayerControl if found, null otherwise.</returns>
internal static PlayerControl? PlayerFromNetId(uint netId) => internal static PlayerControl? PlayerFromNetId(NetId netId) =>
BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.NetId == netId); BAUPlugin.AllPlayerControls.FirstOrDefault(player => player.NetId == netId);
// Chat functionality // Chat functionality