From e333f8a3578fe9e9c4b1d1d417adea894032ed9c Mon Sep 17 00:00:00 2001 From: D1GQ Date: Sun, 23 Mar 2025 22:14:00 -0500 Subject: [PATCH] Make everything that is public internal and remove debugmenu --- .editorconfig | 6 +- Commands/AllCommandsCommand.cs | 8 +- Commands/Arguments/BaseArgument.cs | 12 +- Commands/Arguments/BoolArgument.cs | 4 +- Commands/Arguments/PlayerArgument.cs | 4 +- Commands/Arguments/StringArgument.cs | 2 +- Commands/BaseCommand.cs | 30 +-- Commands/DumpCommand.cs | 10 +- Commands/EndGameCommand.cs | 10 +- Commands/ExileCommand.cs | 12 +- Commands/HelpCommand.cs | 8 +- Commands/KickCommand.cs | 12 +- Commands/MeCommand.cs | 8 +- Commands/PlayerInfoCommand.cs | 10 +- Commands/PlayersInfoCommand.cs | 8 +- Commands/RemoveAllCommand.cs | 8 +- Commands/RemovePlayerCommand.cs | 10 +- Commands/ReviveCommand.cs | 12 +- Commands/RoleCommand.cs | 15 +- Commands/SetPrefixCommand.cs | 10 +- Commands/SetRoleCommand.cs | 14 +- Commands/SuicideCommand.cs | 12 +- Commands/TestCommand.cs | 10 +- Helpers/CastHelper.cs | 6 +- Helpers/Debugger.cs | 24 +- Helpers/EnumHelper.cs | 8 +- Helpers/ExtendedPlayerControl.cs | 20 +- Helpers/ExtendedPlayerInfo.cs | 82 +++--- Helpers/GamePrefabHelper.cs | 4 +- Helpers/InnerNetClientHelper.cs | 44 ++-- Helpers/LateTask.cs | 15 +- Helpers/ObjectHelper.cs | 18 +- Helpers/PlayerControlHelper.cs | 76 +++--- Helpers/ShuffleHelper.cs | 4 +- Helpers/Utils.cs | 68 ++--- Items/Attributes/StaticClassesAttribute.cs | 18 +- Items/BannedUserData.cs | 24 +- Items/OptionItems/BetterOptionCheckboxItem.cs | 18 +- Items/OptionItems/BetterOptionFloatItem.cs | 30 +-- Items/OptionItems/BetterOptionIntItem.cs | 30 +-- Items/OptionItems/BetterOptionItem.cs | 56 ++--- Items/OptionItems/BetterOptionPlayerItem.cs | 24 +- Items/OptionItems/BetterOptionStringItem.cs | 26 +- .../NoneOption/BetterOptionDividerItem.cs | 4 +- .../NoneOption/BetterOptionHeaderItem.cs | 4 +- .../NoneOption/BetterOptionTitleItem.cs | 6 +- Items/UserData.cs | 48 ++-- Managers/BetterDataManager.cs | 44 ++-- Managers/BetterNotificationManager.cs | 18 +- Modules/AntiCheat/BAUAntiCheat.cs | 24 +- Modules/AntiCheat/RPCHandler.cs | 38 +-- .../AntiCheat/RPCHandlers/AUMChatHandler.cs | 6 +- Modules/AntiCheat/RPCHandlers/AUMHandler.cs | 6 +- .../AntiCheat/RPCHandlers/AddVoteHandler.cs | 4 +- .../RPCHandlers/BootFromVentHandler.cs | 4 +- .../AntiCheat/RPCHandlers/CancelPetHandler.cs | 4 +- .../AntiCheat/RPCHandlers/CastVoteHandler.cs | 4 +- .../RPCHandlers/CheckAppearHandler.cs | 8 +- .../RPCHandlers/CheckColorHandler.cs | 6 +- .../RPCHandlers/CheckMurderHandler.cs | 8 +- .../AntiCheat/RPCHandlers/CheckNameHandler.cs | 6 +- .../RPCHandlers/CheckProtectHandler.cs | 8 +- .../RPCHandlers/CheckShapeshiftHandler.cs | 8 +- .../RPCHandlers/CheckSporeHandler.cs | 6 +- .../RPCHandlers/CheckVanishHandler.cs | 8 +- .../RPCHandlers/CheckZiplineHandler.cs | 6 +- .../AntiCheat/RPCHandlers/ClearVoteHandler.cs | 4 +- .../RPCHandlers/ClimbLadderHandler.cs | 4 +- .../RPCHandlers/CloseDoorsOfTypeHandler.cs | 6 +- .../RPCHandlers/CloseMeetingHandler.cs | 4 +- .../RPCHandlers/CompleteTaskHandler.cs | 8 +- .../AntiCheat/RPCHandlers/EnterVentHandler.cs | 6 +- .../AntiCheat/RPCHandlers/ExiledHandler.cs | 4 +- .../AntiCheat/RPCHandlers/ExitVentHandler.cs | 6 +- .../RPCHandlers/ExtendLobbyTimerHandler.cs | 4 +- .../RPCHandlers/KillNetworkChatHandler.cs | 6 +- .../RPCHandlers/KillNetworkHandler.cs | 6 +- .../RPCHandlers/LobbyTimeExpiringHandler.cs | 4 +- .../RPCHandlers/MurderPlayerHandler.cs | 10 +- .../DeserializeNetObjectHandler.cs | 6 +- .../DespawnNetObjectHandler.cs | 6 +- Modules/AntiCheat/RPCHandlers/PetHandler.cs | 6 +- .../RPCHandlers/PlayAnimationHandler.cs | 4 +- .../RPCHandlers/ProtectPlayerHandler.cs | 6 +- .../RPCHandlers/RejectShapeshiftHandler.cs | 4 +- .../RPCHandlers/ReportDeadBodyHandler.cs | 6 +- .../AntiCheat/RPCHandlers/SendChatHandler.cs | 8 +- .../RPCHandlers/SendChatNoteHandler.cs | 4 +- .../RPCHandlers/SendQuickChatHandler.cs | 6 +- .../AntiCheat/RPCHandlers/SetColorHandler.cs | 6 +- .../AntiCheat/RPCHandlers/SetHatHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetHatStrHandler.cs | 4 +- .../RPCHandlers/SetInfectedHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetLevelHandler.cs | 8 +- .../AntiCheat/RPCHandlers/SetNameHandler.cs | 8 +- .../RPCHandlers/SetNamePlateHandler.cs | 4 +- .../RPCHandlers/SetNamePlateStrHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetPetHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetPetStrHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetRoleHandler.cs | 6 +- .../RPCHandlers/SetScannerHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetSkinHandler.cs | 4 +- .../RPCHandlers/SetSkinStrHandler.cs | 4 +- .../RPCHandlers/SetStartCounterHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetTasksHandler.cs | 4 +- .../AntiCheat/RPCHandlers/SetVisorHandler.cs | 4 +- .../RPCHandlers/SetVisorStrHandler.cs | 4 +- .../RPCHandlers/ShapeshiftHandler.cs | 6 +- Modules/AntiCheat/RPCHandlers/SickoHandler.cs | 6 +- .../AntiCheat/RPCHandlers/SnapToHandler.cs | 4 +- .../RPCHandlers/StartAppearHandler.cs | 6 +- .../RPCHandlers/StartMeetingHandler.cs | 4 +- .../RPCHandlers/StartVanishHandler.cs | 8 +- .../RPCHandlers/SyncSettingsHandler.cs | 4 +- .../RPCHandlers/TriggerSporesHandler.cs | 4 +- .../RPCHandlers/UpdateSystemHandler.cs | 12 +- .../RPCHandlers/UsePlatformHandler.cs | 4 +- .../RPCHandlers/UseZiplineHandler.cs | 4 +- .../RPCHandlers/VotingCompleteHandler.cs | 4 +- Modules/ClientOptionItem.cs | 14 +- Modules/DebugMenu.cs | 237 ------------------ Modules/Encryptor.cs | 4 +- Modules/FileChecker.cs | 8 +- Modules/GameState.cs | 76 +++--- Modules/RPC.cs | 22 +- Modules/Translator.cs | 18 +- Modules/UserDataLoader.cs | 6 +- Modules/Zoom.cs | 14 +- Patches/AnnouncementPatch.cs | 28 +-- Patches/ChatNotificationPatch.cs | 4 +- Patches/ChatPatch.cs | 28 +-- Patches/ClientOptionsPatch.cs | 6 +- Patches/ClientPatch.cs | 36 +-- Patches/CommandsPatch.cs | 10 +- Patches/DisconnectPenaltyPatch.cs | 4 +- Patches/DiscordPatch.cs | 4 +- Patches/GamePlayManagerPatch.cs | 16 +- Patches/GameSettingMenuPatch.cs | 54 ++-- Patches/HudManagerPatch.cs | 12 +- Patches/MainMenuPatch.cs | 6 +- Patches/MeetingHudPatch.cs | 19 +- Patches/MiniMapBehaviourPatch.cs | 10 +- Patches/ModManagerPatch.cs | 4 +- Patches/PingTrackerPatch.cs | 4 +- Patches/PlayerControlPatch.cs | 28 +-- Patches/PlayerJoinAndLeftPatch.cs | 14 +- Patches/RoleManagerPatch.cs | 16 +- Patches/RolePatch.cs | 2 +- Patches/SplashIntroPatch.cs | 8 +- Patches/VersionShowerPatch.cs | 4 +- .../ReactorCoroutines/Coroutines.cs | 56 ----- .../DebugWindowRes/ReactorImGui/DragWindow.cs | 20 -- .../ReactorImGui/GUIExtensions.cs | 29 --- .../DebugWindowRes/ReactorImGui/Window.cs | 44 ---- main.cs | 86 +++---- 155 files changed, 971 insertions(+), 1366 deletions(-) delete mode 100644 Modules/DebugMenu.cs delete mode 100644 Resources/DebugWindowRes/ReactorCoroutines/Coroutines.cs delete mode 100644 Resources/DebugWindowRes/ReactorImGui/DragWindow.cs delete mode 100644 Resources/DebugWindowRes/ReactorImGui/GUIExtensions.cs delete mode 100644 Resources/DebugWindowRes/ReactorImGui/Window.cs diff --git a/.editorconfig b/.editorconfig index d38bb89..795fb33 100644 --- a/.editorconfig +++ b/.editorconfig @@ -44,15 +44,15 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case # Symbol specifications dotnet_naming_symbols.interface.applicable_kinds = interface -dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.applicable_accessibilities = internal, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.interface.required_modifiers = dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum -dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.applicable_accessibilities = internal, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.types.required_modifiers = dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method -dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.applicable_accessibilities = internal, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.non_field_members.required_modifiers = # Naming styles diff --git a/Commands/AllCommandsCommand.cs b/Commands/AllCommandsCommand.cs index 150cb20..0c0abef 100644 --- a/Commands/AllCommandsCommand.cs +++ b/Commands/AllCommandsCommand.cs @@ -3,12 +3,12 @@ namespace BetterAmongUs.Commands; [RegisterCommand] -public class AllCommandsCommand : BaseCommand +internal class AllCommandsCommand : BaseCommand { - public override string Name => "commands"; - public override string Description => "Get information about all commands"; + internal override string Name => "commands"; + internal override string Description => "Get information about all commands"; - public override void Run() + internal override void Run() { BaseCommand?[] allNormalCommands = allCommands.Where(cmd => cmd.Type == CommandType.Normal && cmd.ShowCommand()).ToArray(); BaseCommand?[] allSponsorCommands = allCommands.Where(cmd => cmd.Type == CommandType.Sponsor && cmd.ShowCommand()).ToArray(); diff --git a/Commands/Arguments/BaseArgument.cs b/Commands/Arguments/BaseArgument.cs index 6720e32..6ca469b 100644 --- a/Commands/Arguments/BaseArgument.cs +++ b/Commands/Arguments/BaseArgument.cs @@ -1,12 +1,12 @@ namespace BetterAmongUs.Commands { - public abstract class BaseArgument(BaseCommand? command, string argInfo) + internal abstract class BaseArgument(BaseCommand? command, string argInfo) { - public BaseCommand? Command { get; } = command; - public string ArgInfo { get; } = argInfo; - public string Arg { get; set; } = string.Empty; + internal BaseCommand? Command { get; } = command; + internal string ArgInfo { get; } = argInfo; + internal string Arg { get; set; } = string.Empty; protected virtual string[] ArgSuggestions => GetArgSuggestions.Invoke(); - public Func GetArgSuggestions { get; set; } = () => { return []; }; - public string GetClosestSuggestion() => ArgSuggestions.FirstOrDefault(name => name.StartsWith(Arg, StringComparison.OrdinalIgnoreCase)) ?? string.Empty; + internal Func GetArgSuggestions { get; set; } = () => { return []; }; + internal string GetClosestSuggestion() => ArgSuggestions.FirstOrDefault(name => name.StartsWith(Arg, StringComparison.OrdinalIgnoreCase)) ?? string.Empty; } } diff --git a/Commands/Arguments/BoolArgument.cs b/Commands/Arguments/BoolArgument.cs index 4e228f3..c40952c 100644 --- a/Commands/Arguments/BoolArgument.cs +++ b/Commands/Arguments/BoolArgument.cs @@ -1,9 +1,9 @@ namespace BetterAmongUs.Commands; -public class BoolArgument(BaseCommand? command, string argInfo = "{bool}") : BaseArgument(command, argInfo) +internal class BoolArgument(BaseCommand? command, string argInfo = "{bool}") : BaseArgument(command, argInfo) { protected override string[] ArgSuggestions => ["true", "false"]; - public bool? GetBool() + internal bool? GetBool() { if (Arg.ToLower() is "true") { diff --git a/Commands/Arguments/PlayerArgument.cs b/Commands/Arguments/PlayerArgument.cs index d30eeb9..2d97522 100644 --- a/Commands/Arguments/PlayerArgument.cs +++ b/Commands/Arguments/PlayerArgument.cs @@ -2,10 +2,10 @@ namespace BetterAmongUs.Commands; -public class PlayerArgument(BaseCommand? command, string argInfo = "{player}") : BaseArgument(command, argInfo) +internal class PlayerArgument(BaseCommand? command, string argInfo = "{player}") : BaseArgument(command, argInfo) { protected override string[] ArgSuggestions => Main.AllPlayerControls.OrderBy(pc => pc.IsLocalPlayer() ? 0 : 1).Select(pc => pc.Data.PlayerName.Replace(' ', '_')).ToArray(); - public PlayerControl? TryGetTarget() + internal PlayerControl? TryGetTarget() { var player = Main.AllPlayerControls.FirstOrDefault(pc => pc.Data.PlayerName.ToLower().Replace(' ', '_') == Arg.ToLower()); diff --git a/Commands/Arguments/StringArgument.cs b/Commands/Arguments/StringArgument.cs index 463298d..5b38617 100644 --- a/Commands/Arguments/StringArgument.cs +++ b/Commands/Arguments/StringArgument.cs @@ -1,5 +1,5 @@ namespace BetterAmongUs.Commands; -public class StringArgument(BaseCommand? command, string argInfo = "{String}") : BaseArgument(command, argInfo) +internal class StringArgument(BaseCommand? command, string argInfo = "{String}") : BaseArgument(command, argInfo) { } \ No newline at end of file diff --git a/Commands/BaseCommand.cs b/Commands/BaseCommand.cs index cc869fd..142b16e 100644 --- a/Commands/BaseCommand.cs +++ b/Commands/BaseCommand.cs @@ -3,34 +3,34 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Commands; -public enum CommandType +internal enum CommandType { Normal, Sponsor, Debug, } -public abstract class BaseCommand +internal abstract class BaseCommand { - public static readonly BaseCommand?[] allCommands = [.. RegisterCommandAttribute.Instances]; - public virtual CommandType Type => CommandType.Normal; - public string[] Names => ShortNames.Concat(new[] { Name }).ToArray(); - public abstract string Name { get; } - public virtual string[] ShortNames => []; - public abstract string Description { get; } - public virtual BaseArgument[]? Arguments { get; } = []; - public virtual bool SetChatTimer { get; set; } = false; - public virtual bool ShowCommand() => true; - public virtual bool ShowSuggestion() => ShowCommand(); - public abstract void Run(); + internal static readonly BaseCommand?[] allCommands = [.. RegisterCommandAttribute.Instances]; + internal virtual CommandType Type => CommandType.Normal; + internal string[] Names => ShortNames.Concat(new[] { Name }).ToArray(); + internal abstract string Name { get; } + internal virtual string[] ShortNames => []; + internal abstract string Description { get; } + internal virtual BaseArgument[]? Arguments { get; } = []; + internal virtual bool SetChatTimer { get; set; } = false; + internal virtual bool ShowCommand() => true; + internal virtual bool ShowSuggestion() => ShowCommand(); + internal abstract void Run(); - public static string CommandResultText(string text, bool onlyGetStr = false) + internal static string CommandResultText(string text, bool onlyGetStr = false) { if (!onlyGetStr) Utils.AddChatPrivate(text); return text; } - public static string CommandErrorText(string error, bool onlyGetStr = false) + internal static string CommandErrorText(string error, bool onlyGetStr = false) { string er = "Error:"; if (!onlyGetStr) Utils.AddChatPrivate($"{er}\n{error}"); diff --git a/Commands/DumpCommand.cs b/Commands/DumpCommand.cs index 1bc95fe..f88187e 100644 --- a/Commands/DumpCommand.cs +++ b/Commands/DumpCommand.cs @@ -5,13 +5,13 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class DumpCommand : BaseCommand +internal class DumpCommand : BaseCommand { - public override string Name => "dump"; - public override string Description => "Dump the entire log to the user's desktop"; - public override bool ShowCommand() => !GameState.IsInGamePlay || GameState.IsDev; + internal override string Name => "dump"; + internal override string Description => "Dump the entire log to the user's desktop"; + internal override bool ShowCommand() => !GameState.IsInGamePlay || GameState.IsDev; - public override void Run() + internal override void Run() { if (GameState.IsInGamePlay && !GameState.IsDev) return; diff --git a/Commands/EndGameCommand.cs b/Commands/EndGameCommand.cs index 97b512c..42038ee 100644 --- a/Commands/EndGameCommand.cs +++ b/Commands/EndGameCommand.cs @@ -4,12 +4,12 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class EndGameCommand : BaseCommand +internal class EndGameCommand : BaseCommand { - public override string Name => "endgame"; - public override string Description => "Force end the game"; - public override bool ShowCommand() => GameState.IsHost && !GameState.IsLobby && !GameState.IsFreePlay; - public override void Run() + internal override string Name => "endgame"; + internal override string Description => "Force end the game"; + internal override bool ShowCommand() => GameState.IsHost && !GameState.IsLobby && !GameState.IsFreePlay; + internal override void Run() { GameManager.Instance.RpcEndGame(GameOverReason.ImpostorDisconnect, false); } diff --git a/Commands/ExileCommand.cs b/Commands/ExileCommand.cs index ff79edf..b7b35a6 100644 --- a/Commands/ExileCommand.cs +++ b/Commands/ExileCommand.cs @@ -5,13 +5,13 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class ExileCommand : BaseCommand +internal class ExileCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "exile"; - public override string Description => "Set self as dead"; - public override bool ShowCommand() => GameState.IsFreePlay; - public override void Run() + internal override CommandType Type => CommandType.Debug; + internal override string Name => "exile"; + internal override string Description => "Set self as dead"; + internal override bool ShowCommand() => GameState.IsFreePlay; + internal override void Run() { PlayerControl.LocalPlayer.Exiled(); } diff --git a/Commands/HelpCommand.cs b/Commands/HelpCommand.cs index 726df3e..e5014cf 100644 --- a/Commands/HelpCommand.cs +++ b/Commands/HelpCommand.cs @@ -3,11 +3,11 @@ namespace BetterAmongUs.Commands; [RegisterCommand] -public class HelpCommand : BaseCommand +internal class HelpCommand : BaseCommand { - public override string Name => "help"; - public override string Description => "Get help with commands"; - public override void Run() + internal override string Name => "help"; + internal override string Description => "Get help with commands"; + internal override void Run() { CommandResultText("Welcome to ♻BetterAmongUs♻ This mod enhances your gameplay experience with a variety of exciting features.\n" + "Explore the pause menu to access more options and better settings tailored to your needs.\n" + diff --git a/Commands/KickCommand.cs b/Commands/KickCommand.cs index 42d0cb7..2d200db 100644 --- a/Commands/KickCommand.cs +++ b/Commands/KickCommand.cs @@ -5,10 +5,10 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class KickCommand : BaseCommand +internal class KickCommand : BaseCommand { - public override string Name => "kick"; - public override string Description => "Kick a player from the game"; + internal override string Name => "kick"; + internal override string Description => "Kick a player from the game"; public KickCommand() { _arguments = new Lazy(() => new BaseArgument[] @@ -18,12 +18,12 @@ public class KickCommand : BaseCommand }); } private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private PlayerArgument? playerArgument => (PlayerArgument)Arguments[0]; private BoolArgument? boolArgument => (BoolArgument)Arguments[1]; - public override bool ShowCommand() => GameState.IsHost; - public override void Run() + internal override bool ShowCommand() => GameState.IsHost; + internal override void Run() { var player = playerArgument.TryGetTarget(); var isBan = boolArgument.GetBool(); diff --git a/Commands/MeCommand.cs b/Commands/MeCommand.cs index 68f4f1f..ab062ad 100644 --- a/Commands/MeCommand.cs +++ b/Commands/MeCommand.cs @@ -5,12 +5,12 @@ using System.Text; namespace BetterAmongUs.Commands; [RegisterCommand] -public class MeCommand : BaseCommand +internal class MeCommand : BaseCommand { - public override string Name => "me"; - public override string Description => "Get information about your user data"; + internal override string Name => "me"; + internal override string Description => "Get information about your user data"; - public override void Run() + internal override void Run() { StringBuilder sb = new(); var format1 = "┌ •"; diff --git a/Commands/PlayerInfoCommand.cs b/Commands/PlayerInfoCommand.cs index 4b5151f..07cbde6 100644 --- a/Commands/PlayerInfoCommand.cs +++ b/Commands/PlayerInfoCommand.cs @@ -5,10 +5,10 @@ using System.Text; namespace BetterAmongUs.Commands; [RegisterCommand] -public class PlayerInfoCommand : BaseCommand +internal class PlayerInfoCommand : BaseCommand { - public override string Name => "player"; - public override string Description => "Get a Players information"; + internal override string Name => "player"; + internal override string Description => "Get a Players information"; public PlayerInfoCommand() { @@ -18,11 +18,11 @@ public class PlayerInfoCommand : BaseCommand }); } private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private PlayerArgument? playerArgument => (PlayerArgument)Arguments[0]; - public override void Run() + internal override void Run() { var player = playerArgument.TryGetTarget(); if (player != null) diff --git a/Commands/PlayersInfoCommand.cs b/Commands/PlayersInfoCommand.cs index e8fb9ce..ceb7b89 100644 --- a/Commands/PlayersInfoCommand.cs +++ b/Commands/PlayersInfoCommand.cs @@ -5,12 +5,12 @@ using System.Text; namespace BetterAmongUs.Commands; [RegisterCommand] -public class PlayersInfoCommand : BaseCommand +internal class PlayersInfoCommand : BaseCommand { - public override string Name => "players"; - public override string Description => "Get all Player information"; + internal override string Name => "players"; + internal override string Description => "Get all Player information"; - public override void Run() + internal override void Run() { StringBuilder sb = new(); foreach (PlayerControl player in Main.AllPlayerControls.Where(player => !player.isDummy)) diff --git a/Commands/RemoveAllCommand.cs b/Commands/RemoveAllCommand.cs index 1e10973..a76f4f1 100644 --- a/Commands/RemoveAllCommand.cs +++ b/Commands/RemoveAllCommand.cs @@ -5,11 +5,11 @@ using BetterAmongUs.Managers; namespace BetterAmongUs.Commands; [RegisterCommand] -public class RemoveAllCommand : BaseCommand +internal class RemoveAllCommand : BaseCommand { - public override string Name => "removeall"; - public override string Description => "Remove all players from local Anti-Cheat data"; - public override void Run() + internal override string Name => "removeall"; + internal override string Description => "Remove all players from local Anti-Cheat data"; + internal override void Run() { BetterDataManager.ClearCheatData(); Utils.AddChatPrivate($"All data successfully removed from local Anti-Cheat!"); diff --git a/Commands/RemovePlayerCommand.cs b/Commands/RemovePlayerCommand.cs index a0a5851..a2fcfd9 100644 --- a/Commands/RemovePlayerCommand.cs +++ b/Commands/RemovePlayerCommand.cs @@ -6,10 +6,10 @@ using BetterAmongUs.Modules.AntiCheat; namespace BetterAmongUs.Commands; [RegisterCommand] -public class RemovePlayerCommand : BaseCommand +internal class RemovePlayerCommand : BaseCommand { - public override string Name => "removeplayer"; - public override string Description => "Remove player from local Anti-Cheat data"; + internal override string Name => "removeplayer"; + internal override string Description => "Remove player from local Anti-Cheat data"; public RemovePlayerCommand() { @@ -20,10 +20,10 @@ public class RemovePlayerCommand : BaseCommand identifierArgument.GetArgSuggestions = BAUAntiCheat.GatherAllData; } private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private StringArgument? identifierArgument => (StringArgument)Arguments[0]; - public override void Run() + internal override void Run() { if (BetterDataManager.RemovePlayer(identifierArgument.Arg) == true) { diff --git a/Commands/ReviveCommand.cs b/Commands/ReviveCommand.cs index 6c15689..367c69c 100644 --- a/Commands/ReviveCommand.cs +++ b/Commands/ReviveCommand.cs @@ -5,13 +5,13 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class ReviveCommand : BaseCommand +internal class ReviveCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "revive"; - public override string Description => "Set self as alive"; - public override bool ShowCommand() => GameState.IsFreePlay; - public override void Run() + internal override CommandType Type => CommandType.Debug; + internal override string Name => "revive"; + internal override string Description => "Set self as alive"; + internal override bool ShowCommand() => GameState.IsFreePlay; + internal override void Run() { PlayerControl.LocalPlayer.Revive(); } diff --git a/Commands/RoleCommand.cs b/Commands/RoleCommand.cs index 9f514a7..9cd7583 100644 --- a/Commands/RoleCommand.cs +++ b/Commands/RoleCommand.cs @@ -7,11 +7,11 @@ using BetterAmongUs.Patches; namespace BetterAmongUs.Commands; [RegisterCommand] -public class RoleCommand : BaseCommand +internal class RoleCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "role"; - public override string Description => "Set your role for the next game"; + internal override CommandType Type => CommandType.Debug; + internal override string Name => "role"; + internal override string Description => "Set your role for the next game"; public RoleCommand() { @@ -21,14 +21,15 @@ public class RoleCommand : BaseCommand }); roleArgument.GetArgSuggestions = () => { return RoleManager.Instance.AllRoles.Select(role => role.NiceName.ToLower()).ToArray(); }; } + private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private StringArgument? roleArgument => (StringArgument)Arguments[0]; - public override bool ShowCommand() => GameState.IsHost && Main.MyData.HasAll() && Main.MyData.IsVerified(); + internal override bool ShowCommand() => GameState.IsHost && Main.MyData.HasAll() && Main.MyData.IsVerified(); - public override void Run() + internal override void Run() { var role = RoleManager.Instance.AllRoles.FirstOrDefault(r => r.NiceName.StartsWith(roleArgument.Arg)); if (role != null) diff --git a/Commands/SetPrefixCommand.cs b/Commands/SetPrefixCommand.cs index 4ffd604..06590ba 100644 --- a/Commands/SetPrefixCommand.cs +++ b/Commands/SetPrefixCommand.cs @@ -3,10 +3,10 @@ namespace BetterAmongUs.Commands; [RegisterCommand] -public class SetPrefixCommand : BaseCommand +internal class SetPrefixCommand : BaseCommand { - public override string Name => "setprefix"; - public override string Description => "Set command prefix"; + internal override string Name => "setprefix"; + internal override string Description => "Set command prefix"; public SetPrefixCommand() { @@ -16,11 +16,11 @@ public class SetPrefixCommand : BaseCommand }); } private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private StringArgument? prefixArgument => (StringArgument)Arguments[0]; - public override void Run() + internal override void Run() { var oldPrefix = Main.CommandPrefix.Value; var prefix = prefixArgument.Arg.ToCharArray().First().ToString(); diff --git a/Commands/SetRoleCommand.cs b/Commands/SetRoleCommand.cs index 6462f36..a51e3ee 100644 --- a/Commands/SetRoleCommand.cs +++ b/Commands/SetRoleCommand.cs @@ -7,11 +7,11 @@ using BetterAmongUs.Patches; namespace BetterAmongUs.Commands; [RegisterCommand] -public class SetRoleCommand : BaseCommand +internal class SetRoleCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "setrole"; - public override string Description => "Set another players role for the next game"; + internal override CommandType Type => CommandType.Debug; + internal override string Name => "setrole"; + internal override string Description => "Set another players role for the next game"; public SetRoleCommand() { @@ -23,14 +23,14 @@ public class SetRoleCommand : BaseCommand roleArgument.GetArgSuggestions = () => { return RoleManager.Instance.AllRoles.Select(role => role.NiceName.ToLower()).ToArray(); }; } private readonly Lazy _arguments; - public override BaseArgument[]? Arguments => _arguments.Value; + internal override BaseArgument[]? Arguments => _arguments.Value; private PlayerArgument? playerArgument => (PlayerArgument)Arguments[0]; private StringArgument? roleArgument => (StringArgument)Arguments[1]; - public override bool ShowCommand() => GameState.IsHost && Main.MyData.HasAll() && Main.MyData.IsVerified(); + internal override bool ShowCommand() => GameState.IsHost && Main.MyData.HasAll() && Main.MyData.IsVerified(); - public override void Run() + internal override void Run() { var player = playerArgument.TryGetTarget(); if (player.IsLocalPlayer()) diff --git a/Commands/SuicideCommand.cs b/Commands/SuicideCommand.cs index e588b98..44cd6df 100644 --- a/Commands/SuicideCommand.cs +++ b/Commands/SuicideCommand.cs @@ -5,13 +5,13 @@ using BetterAmongUs.Modules; namespace BetterAmongUs.Commands; [RegisterCommand] -public class SuicideCommand : BaseCommand +internal class SuicideCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "suicide"; - public override string Description => "Kill self"; - public override bool ShowCommand() => GameState.IsFreePlay; - public override void Run() + internal override CommandType Type => CommandType.Debug; + internal override string Name => "suicide"; + internal override string Description => "Kill self"; + internal override bool ShowCommand() => GameState.IsFreePlay; + internal override void Run() { PlayerControl.LocalPlayer.MurderPlayer(PlayerControl.LocalPlayer, MurderResultFlags.Succeeded); } diff --git a/Commands/TestCommand.cs b/Commands/TestCommand.cs index fb6a425..8cc7c1d 100644 --- a/Commands/TestCommand.cs +++ b/Commands/TestCommand.cs @@ -3,12 +3,12 @@ namespace BetterAmongUs.Commands; [RegisterCommand] -public class TestCommand : BaseCommand +internal class TestCommand : BaseCommand { - public override CommandType Type => CommandType.Debug; - public override string Name => "test"; - public override string Description => "Test Command"; - public override void Run() + internal override CommandType Type => CommandType.Debug; + internal override string Name => "test"; + internal override string Description => "Test Command"; + internal override void Run() { } } diff --git a/Helpers/CastHelper.cs b/Helpers/CastHelper.cs index c934f84..7aeda54 100644 --- a/Helpers/CastHelper.cs +++ b/Helpers/CastHelper.cs @@ -1,10 +1,10 @@ namespace BetterAmongUs.Helpers; -public static class CastHelper +internal static class CastHelper { - public static bool TryCast(this object obj) => obj is T; + internal static bool TryCast(this object obj) => obj is T; - public static bool TryCast(this object obj, out T? item) where T : class + internal static bool TryCast(this object obj, out T? item) where T : class { if (obj != null && obj is T casted) { diff --git a/Helpers/Debugger.cs b/Helpers/Debugger.cs index ea3017a..0331c17 100644 --- a/Helpers/Debugger.cs +++ b/Helpers/Debugger.cs @@ -11,7 +11,7 @@ namespace BetterAmongUs; class Logger { - public static void Log(string info, string tag = "Log", bool logConsole = true, ConsoleColor color = ConsoleColor.White, bool hostOnly = false) + internal static void Log(string info, string tag = "Log", bool logConsole = true, ConsoleColor color = ConsoleColor.White, bool hostOnly = false) { try { @@ -30,7 +30,7 @@ class Logger } catch { } } - public static void LogMethod( + internal static void LogMethod( string info = "", Type? runtimeType = null, bool hostOnly = false, @@ -52,7 +52,7 @@ class Logger Log(logMessage, "MethodLog", hostOnly); } - public static void LogMethodPrivate( + internal static void LogMethodPrivate( string info = "", Type? runtimeType = null, bool hostOnly = false, @@ -74,18 +74,18 @@ class Logger LogPrivate(logMessage, "MethodLog", hostOnly); } - public static void LogHeader(string info, string tag = "LogHeader", bool hostOnly = false, bool logConsole = true) => Log($" >-------------- {info} --------------<", tag, hostOnly: hostOnly, logConsole: logConsole); - public static void LogCheat(string info, string tag = "AntiCheat", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Green, hostOnly: hostOnly, logConsole: logConsole); - public static void Error(string info, string tag = "Error", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Red, hostOnly: hostOnly, logConsole: logConsole); - public static void Error(Exception ex, string tag = "Error", bool hostOnly = false, bool logConsole = true) => Log(ex.ToString(), tag, color: ConsoleColor.Red, hostOnly: hostOnly, logConsole: logConsole); - public static void Warning(string info, string tag = "Warning", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Yellow, hostOnly: hostOnly, logConsole: logConsole); - public static void Test() + internal static void LogHeader(string info, string tag = "LogHeader", bool hostOnly = false, bool logConsole = true) => Log($" >-------------- {info} --------------<", tag, hostOnly: hostOnly, logConsole: logConsole); + internal static void LogCheat(string info, string tag = "AntiCheat", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Green, hostOnly: hostOnly, logConsole: logConsole); + internal static void Error(string info, string tag = "Error", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Red, hostOnly: hostOnly, logConsole: logConsole); + internal static void Error(Exception ex, string tag = "Error", bool hostOnly = false, bool logConsole = true) => Log(ex.ToString(), tag, color: ConsoleColor.Red, hostOnly: hostOnly, logConsole: logConsole); + internal static void Warning(string info, string tag = "Warning", bool hostOnly = false, bool logConsole = true) => Log(info, tag, color: ConsoleColor.Yellow, hostOnly: hostOnly, logConsole: logConsole); + internal static void Test() { Log("------------------> TEST <------------------", "TEST"); InGame("TEST"); } // Log in game join msg - public static void InGame(string info, bool hostOnly = false) + internal static void InGame(string info, bool hostOnly = false) { if (hostOnly && !GameState.IsHost) return; @@ -96,7 +96,7 @@ class Logger // ------------- Private Log ------------- // Logs that can only be accessed when dumped - public static void LogPrivate(string info, string tag = "Log", bool hostOnly = false) + internal static void LogPrivate(string info, string tag = "Log", bool hostOnly = false) { try { @@ -119,7 +119,7 @@ class Logger } } -public class CustomLogListener : ILogListener +internal class CustomLogListener : ILogListener { public LogLevel LogLevelFilter { get; set; } = LogLevel.Info | LogLevel.Warning | LogLevel.Error; public void LogEvent(object sender, LogEventArgs eventArgs) diff --git a/Helpers/EnumHelper.cs b/Helpers/EnumHelper.cs index bbd4cf3..71fbe43 100644 --- a/Helpers/EnumHelper.cs +++ b/Helpers/EnumHelper.cs @@ -1,19 +1,19 @@ namespace BetterAmongUs.Helpers; -public static class EnumHelper +internal static class EnumHelper { /// /// Get all values of enum /// /// Type of enum to be obtained /// All values of T - public static T[] GetAllValues() where T : Enum => Enum.GetValues(typeof(T)) as T[]; + internal static T[] GetAllValues() where T : Enum => Enum.GetValues(typeof(T)) as T[]; /// /// Get all names in enum /// /// Type of enum to be obtained /// All values of T - public static string[] GetAllNames() where T : Enum => Enum.GetNames(typeof(T)); + internal static string[] GetAllNames() where T : Enum => Enum.GetNames(typeof(T)); /// @@ -22,7 +22,7 @@ public static class EnumHelper /// Type of enum to be obtained /// The number of elements each chunk should contain. /// A list of arrays, each containing up to elements of the enum type. - public static List Achunk(int chunkSize, bool shuffle = false, Func exclude = null) where TEnum : Enum + internal static List Achunk(int chunkSize, bool shuffle = false, Func exclude = null) where TEnum : Enum { List chunkedList = []; TEnum[] allValues = GetAllValues(); diff --git a/Helpers/ExtendedPlayerControl.cs b/Helpers/ExtendedPlayerControl.cs index b8b8d66..1777a4a 100644 --- a/Helpers/ExtendedPlayerControl.cs +++ b/Helpers/ExtendedPlayerControl.cs @@ -4,22 +4,22 @@ using UnityEngine; namespace BetterAmongUs.Helpers; -public class BetterPlayerControl(IntPtr intPtr) : MonoBehaviour(intPtr) +internal class BetterPlayerControl(IntPtr intPtr) : MonoBehaviour(intPtr) { - public PlayerControl? _Player { get; set; } - public TextMeshPro? InfoTextInfo { get; set; } - public TextMeshPro? InfoTextTop { get; set; } - public TextMeshPro? InfoTextBottom { get; set; } + internal PlayerControl? _Player { get; set; } + internal TextMeshPro? InfoTextInfo { get; set; } + internal TextMeshPro? InfoTextTop { get; set; } + internal TextMeshPro? InfoTextBottom { get; set; } } -public static class PlayerControlExtension +internal static class PlayerControlExtension { [HarmonyPatch(typeof(PlayerControl))] class PlayerControlPatch { [HarmonyPatch(nameof(PlayerControl.Awake))] [HarmonyPrefix] - public static void Awake_Prefix(PlayerControl __instance) + internal static void Awake_Prefix(PlayerControl __instance) { var nameTextTransform = __instance.gameObject.transform.Find("Names/NameText_TMP"); var nameText = nameTextTransform?.GetComponent(); @@ -46,7 +46,7 @@ public static class PlayerControlExtension TryCreateExtendedPlayerControl(__instance, text1, text2, text3); } - public static void TryCreateExtendedPlayerControl(PlayerControl pc, TextMeshPro InfoText_Info_TMP, TextMeshPro InfoText_T_TMP, TextMeshPro InfoText_B_TMP) + internal static void TryCreateExtendedPlayerControl(PlayerControl pc, TextMeshPro InfoText_Info_TMP, TextMeshPro InfoText_T_TMP, TextMeshPro InfoText_B_TMP) { if (pc.BetterPlayerControl() == null) { @@ -59,12 +59,12 @@ public static class PlayerControlExtension } } - public static BetterPlayerControl? BetterPlayerControl(this PlayerControl player) + internal static BetterPlayerControl? BetterPlayerControl(this PlayerControl player) { return player?.GetComponent(); } - public static BetterPlayerControl? BetterPlayerControl(this PlayerPhysics playerPhysics) + internal static BetterPlayerControl? BetterPlayerControl(this PlayerPhysics playerPhysics) { return playerPhysics?.GetComponent(); } diff --git a/Helpers/ExtendedPlayerInfo.cs b/Helpers/ExtendedPlayerInfo.cs index 503a18f..54fd2db 100644 --- a/Helpers/ExtendedPlayerInfo.cs +++ b/Helpers/ExtendedPlayerInfo.cs @@ -8,10 +8,10 @@ using UnityEngine; namespace BetterAmongUs.Helpers; -public class ExtendedPlayerInfo : MonoBehaviour +internal class ExtendedPlayerInfo : MonoBehaviour { private bool hasSet = false; - public void SetInfo(NetworkedPlayerInfo data) + internal void SetInfo(NetworkedPlayerInfo data) { if (hasSet) return; MyUserData = UserData.GetPlayerUserData(data); @@ -21,7 +21,7 @@ public class ExtendedPlayerInfo : MonoBehaviour } private float timeAccumulator = 0f; - public void Update() + internal void Update() { var time = Time.deltaTime; @@ -49,7 +49,7 @@ public class ExtendedPlayerInfo : MonoBehaviour } } - public void LateUpdate() + internal void LateUpdate() { if (gameObject == null) return; @@ -59,71 +59,71 @@ public class ExtendedPlayerInfo : MonoBehaviour } } - public UserData? MyUserData { get; private set; } = UserData.AllUsers.First(); - public byte _PlayerId { get; private set; } - public NetworkedPlayerInfo? _Data { get; private set; } - public string? RealName { get; private set; } - public bool IsDirtyInfo { get; set; } = true; - public Dictionary LastNameSetFor { get; set; } = []; - public bool IsBetterUser { get; set; } = false; - public bool IsVerifiedBetterUser { get; set; } = false; - public bool IsTOHEHost { get; set; } = false; - public bool HasShowDcMsg { get; set; } = false; - public DisconnectReasons DisconnectReason { get; set; } = DisconnectReasons.Unknown; - public ExtendedRoleInfo? RoleInfo { get; } = new(); - public ExtendedAntiCheatInfo? AntiCheatInfo { get; } = new(); + internal UserData? MyUserData { get; private set; } = UserData.AllUsers.First(); + internal byte _PlayerId { get; private set; } + internal NetworkedPlayerInfo? _Data { get; private set; } + internal string? RealName { get; private set; } + internal bool IsDirtyInfo { get; set; } = true; + internal Dictionary LastNameSetFor { get; set; } = []; + internal bool IsBetterUser { get; set; } = false; + internal bool IsVerifiedBetterUser { get; set; } = false; + internal bool IsTOHEHost { get; set; } = false; + internal bool HasShowDcMsg { get; set; } = false; + internal DisconnectReasons DisconnectReason { get; set; } = DisconnectReasons.Unknown; + internal ExtendedRoleInfo? RoleInfo { get; } = new(); + internal ExtendedAntiCheatInfo? AntiCheatInfo { get; } = new(); } -public class ExtendedAntiCheatInfo +internal class ExtendedAntiCheatInfo { - public bool BannedByAntiCheat { get; set; } = false; - public List AUMChats { get; set; } = []; - public static int MaxRPCSent => 35; - public int RPCSentPS { get; set; } = 0; - public int TimesAttemptedKilled { get; set; } = 0; - public int OpenSabotageNum { get; set; } = 0; - public bool IsFixingPanelSabotage => OpenSabotageNum != 0; - public float TimeSinceLastTask { get; set; } = 5f; - public uint LastTaskId { get; set; } = 999; - public bool HasSetName { get; set; } - public bool HasSetLevel { get; set; } + internal bool BannedByAntiCheat { get; set; } = false; + internal List AUMChats { get; set; } = []; + internal static int MaxRPCSent => 35; + internal int RPCSentPS { get; set; } = 0; + internal int TimesAttemptedKilled { get; set; } = 0; + internal int OpenSabotageNum { get; set; } = 0; + internal bool IsFixingPanelSabotage => OpenSabotageNum != 0; + internal float TimeSinceLastTask { get; set; } = 5f; + internal uint LastTaskId { get; set; } = 999; + internal bool HasSetName { get; set; } + internal bool HasSetLevel { get; set; } } -public class ExtendedRoleInfo +internal class ExtendedRoleInfo { - public int Kills { get; set; } = 0; - public bool HasNoisemakerNotify { get; set; } = false; - public RoleTypes DeadDisplayRole { get; set; } + internal int Kills { get; set; } = 0; + internal bool HasNoisemakerNotify { get; set; } = false; + internal RoleTypes DeadDisplayRole { get; set; } } -public static class PlayerControlDataExtension +internal static class PlayerControlDataExtension { [HarmonyPatch(typeof(NetworkedPlayerInfo))] class NetworkedPlayerInfoPatch { [HarmonyPatch(nameof(NetworkedPlayerInfo.Init))] [HarmonyPostfix] - public static void Init_Postfix(NetworkedPlayerInfo __instance) + internal static void Init_Postfix(NetworkedPlayerInfo __instance) { TryCreateExtendedData(__instance); } [HarmonyPatch(nameof(NetworkedPlayerInfo.Serialize))] [HarmonyPostfix] - public static void Serialize_Postfix(NetworkedPlayerInfo __instance) + internal static void Serialize_Postfix(NetworkedPlayerInfo __instance) { __instance.DirtyNameDelay(); } [HarmonyPatch(nameof(NetworkedPlayerInfo.Deserialize))] [HarmonyPostfix] - public static void Deserialize_Postfix(NetworkedPlayerInfo __instance) + internal static void Deserialize_Postfix(NetworkedPlayerInfo __instance) { TryCreateExtendedData(__instance); __instance.DirtyNameDelay(); } - public static void TryCreateExtendedData(NetworkedPlayerInfo data) + internal static void TryCreateExtendedData(NetworkedPlayerInfo data) { if (data.BetterData() == null) { @@ -135,19 +135,19 @@ public static class PlayerControlDataExtension } // Get BetterData from PlayerControl - public static ExtendedPlayerInfo? BetterData(this PlayerControl player) + internal static ExtendedPlayerInfo? BetterData(this PlayerControl player) { return player?.Data?.GetComponent(); } // Get BetterData from NetworkedPlayerInfo - public static ExtendedPlayerInfo? BetterData(this NetworkedPlayerInfo data) + internal static ExtendedPlayerInfo? BetterData(this NetworkedPlayerInfo data) { return data?.GetComponent(); } // Get BetterData from ClientData - public static ExtendedPlayerInfo? BetterData(this ClientData data) + internal static ExtendedPlayerInfo? BetterData(this ClientData data) { var player = Utils.PlayerFromClientId(data.Id); return player?.Data?.GetComponent(); diff --git a/Helpers/GamePrefabHelper.cs b/Helpers/GamePrefabHelper.cs index 59d3a29..b1d4cf0 100644 --- a/Helpers/GamePrefabHelper.cs +++ b/Helpers/GamePrefabHelper.cs @@ -3,9 +3,9 @@ using UnityEngine; namespace BetterAmongUs.Helpers; -public class GamePrefabHelper +internal class GamePrefabHelper { - public static UnityEngine.Object? GetPrefabByName(string objectName) + internal static UnityEngine.Object? GetPrefabByName(string objectName) { UnityEngine.Object[] allObjects = UnityEngine.Resources.FindObjectsOfTypeAll(Il2CppType.Of()); diff --git a/Helpers/InnerNetClientHelper.cs b/Helpers/InnerNetClientHelper.cs index 606c6ca..ce88484 100644 --- a/Helpers/InnerNetClientHelper.cs +++ b/Helpers/InnerNetClientHelper.cs @@ -10,7 +10,7 @@ static class InnerNetClientHelper /// Writes an array of boolean values to a MessageWriter in a packed format to save space. /// Each byte stores up to 8 boolean values as bits. /// - public static void WriteBooleans(this MessageWriter writer, IEnumerable boolsEnumerable) + internal static void WriteBooleans(this MessageWriter writer, IEnumerable boolsEnumerable) { bool[] bools = boolsEnumerable.ToArray(); @@ -39,7 +39,7 @@ static class InnerNetClientHelper /// /// Reads an array of boolean values from a MessageReader that were previously packed using WriteBooleans. /// - public static bool[] ReadBooleans(this MessageReader reader) + internal static bool[] ReadBooleans(this MessageReader reader) { int length = reader.ReadInt32(); bool[] bools = new bool[length]; @@ -65,7 +65,7 @@ static class InnerNetClientHelper /// /// Writes an array of bytes to a MessageWriter in a packed format, combining two bytes into one to save space. /// - public static void WritePackedBytes(this MessageWriter writer, IEnumerable bytesEnumerable) + internal static void WritePackedBytes(this MessageWriter writer, IEnumerable bytesEnumerable) { byte[] bytes = bytesEnumerable.ToArray(); @@ -83,7 +83,7 @@ static class InnerNetClientHelper /// /// Reads an array of bytes from a MessageReader that were previously packed using WritePackedBytes. /// - public static byte[] ReadPackedBytes(this MessageReader reader) + internal static byte[] ReadPackedBytes(this MessageReader reader) { int count = reader.ReadByte(); List bytes = []; @@ -103,7 +103,7 @@ static class InnerNetClientHelper /// Writes a floating-point value to a MessageWriter in a packed format to save space. /// Handles negative values, integers, and decimal numbers efficiently. /// - public static void WritePacked(this MessageWriter writer, float value) + internal static void WritePacked(this MessageWriter writer, float value) { bool isNegative = value < 0; float absValue = Math.Abs(value); @@ -181,7 +181,7 @@ static class InnerNetClientHelper /// Reads a floating-point value from a MessageReader that was previously packed using WritePacked. /// Handles negative values, integers, and decimal numbers efficiently. /// - public static float ReadPackedSingle(this MessageReader reader) + internal static float ReadPackedSingle(this MessageReader reader) { var flags = reader.ReadBooleans(); bool isNegative = flags[0]; @@ -218,28 +218,28 @@ static class InnerNetClientHelper } } - public static void WritePlayerId(this MessageWriter writer, PlayerControl player) => writer.Write(player?.PlayerId ?? 255); + internal static void WritePlayerId(this MessageWriter writer, PlayerControl player) => writer.Write(player?.PlayerId ?? 255); - public static PlayerControl? ReadPlayerId(this MessageReader reader) => Utils.PlayerFromPlayerId(reader.ReadByte()); + internal static PlayerControl? ReadPlayerId(this MessageReader reader) => Utils.PlayerFromPlayerId(reader.ReadByte()); - public static void WritePlayerDataId(this MessageWriter writer, NetworkedPlayerInfo data) => writer.Write(data?.PlayerId ?? 255); + internal static void WritePlayerDataId(this MessageWriter writer, NetworkedPlayerInfo data) => writer.Write(data?.PlayerId ?? 255); - public static NetworkedPlayerInfo? ReadPlayerDataId(this MessageReader reader) => Utils.PlayerDataFromPlayerId(reader.ReadByte()); + internal static NetworkedPlayerInfo? ReadPlayerDataId(this MessageReader reader) => Utils.PlayerDataFromPlayerId(reader.ReadByte()); - public static void WriteDeadBodyId(this MessageWriter writer, DeadBody body) => writer.Write(body?.ParentId ?? 255); + internal static void WriteDeadBodyId(this MessageWriter writer, DeadBody body) => writer.Write(body?.ParentId ?? 255); - public static DeadBody? ReadDeadBodyId(this MessageReader reader) => Main.AllDeadBodys.FirstOrDefault(deadbody => deadbody.ParentId == reader.ReadByte()); + internal static DeadBody? ReadDeadBodyId(this MessageReader reader) => Main.AllDeadBodys.FirstOrDefault(deadbody => deadbody.ParentId == reader.ReadByte()); - public static void WriteVentId(this MessageWriter writer, Vent vent) => writer.Write(vent?.Id ?? -1); + internal static void WriteVentId(this MessageWriter writer, Vent vent) => writer.Write(vent?.Id ?? -1); - public static Vent? ReadVentId(this MessageReader reader) => Main.AllVents.FirstOrDefault(vent => vent.Id == reader.ReadInt32()); + internal static Vent? ReadVentId(this MessageReader reader) => Main.AllVents.FirstOrDefault(vent => vent.Id == reader.ReadInt32()); /// /// Converts a MessageWriter to a MessageReader. /// - public static MessageReader ToReader(this MessageWriter writer) => MessageReader.Get(writer.ToByteArray(false)); + internal static MessageReader ToReader(this MessageWriter writer) => MessageReader.Get(writer.ToByteArray(false)); - public static MessageReader[] ToReaders(this MessageWriter writer) + internal static MessageReader[] ToReaders(this MessageWriter writer) { var reader = writer.ToReader(); List readers = []; @@ -252,7 +252,7 @@ static class InnerNetClientHelper return [.. readers]; } - public static MessageReader[] ToReaders(this MessageReader reader) + internal static MessageReader[] ToReaders(this MessageReader reader) { List readers = []; @@ -264,7 +264,7 @@ static class InnerNetClientHelper return [.. readers]; } - public static MessageReader[] ToReadersNewBuffer(this MessageReader reader) + internal static MessageReader[] ToReadersNewBuffer(this MessageReader reader) { List readers = []; @@ -276,7 +276,7 @@ static class InnerNetClientHelper return [.. readers]; } - public static MessageWriter WriteReaders(this MessageWriter writer, IEnumerable readers, bool clear = false) + internal static MessageWriter WriteReaders(this MessageWriter writer, IEnumerable readers, bool clear = false) { if (clear) writer.Clear(writer.SendOption); @@ -290,7 +290,7 @@ static class InnerNetClientHelper return writer; } - public static MessageWriter Copy(this MessageWriter writer) + internal static MessageWriter Copy(this MessageWriter writer) { var newWriter = MessageWriter.Get(writer.SendOption); newWriter.Write(writer.ToByteArray(false)); @@ -318,7 +318,7 @@ static class InnerNetClientHelper messageWriter.ForEach(mW => mW.Write("RPC TEST")); AmongUsClient.Instance.FinishRpcDesync(messageWriter); */ - public static List StartRpcDesync(this InnerNetClient client, uint playerNetId, byte callId, SendOption option, int ignoreClientId = -1, Func clientCheck = null) + internal static List StartRpcDesync(this InnerNetClient client, uint playerNetId, byte callId, SendOption option, int ignoreClientId = -1, Func clientCheck = null) { List messageWriters = new List(); @@ -342,7 +342,7 @@ static class InnerNetClientHelper - public static void FinishRpcDesync(this InnerNetClient client, List messageWriters) + internal static void FinishRpcDesync(this InnerNetClient client, List messageWriters) { foreach (var msg in messageWriters) { diff --git a/Helpers/LateTask.cs b/Helpers/LateTask.cs index ed83ffd..3a1a69d 100644 --- a/Helpers/LateTask.cs +++ b/Helpers/LateTask.cs @@ -2,12 +2,12 @@ namespace BetterAmongUs.Helpers; class LateTask { - public string name; - public float timer; - public bool shouldLog; - public Action action; - public static List Tasks = []; - public bool Run(float deltaTime) + internal string name; + internal float timer; + internal bool shouldLog; + internal Action action; + internal static List Tasks = []; + internal bool Run(float deltaTime) { timer -= deltaTime; if (timer <= 0) @@ -28,7 +28,8 @@ class LateTask this.shouldLog = shouldLog; Tasks.Add(this); } - public static void Update(float deltaTime) + + internal static void Update(float deltaTime) { var TasksToRemove = new List(); foreach (var task in Tasks.ToArray()) diff --git a/Helpers/ObjectHelper.cs b/Helpers/ObjectHelper.cs index 1a6eadc..c2ca235 100644 --- a/Helpers/ObjectHelper.cs +++ b/Helpers/ObjectHelper.cs @@ -2,9 +2,9 @@ namespace BetterAmongUs.Helpers; -public static class ObjectHelper +internal static class ObjectHelper { - public static GameObject? FindObjectByName(string objectName) + internal static GameObject? FindObjectByName(string objectName) { GameObject[] allObjects = UnityEngine.Object.FindObjectsOfType(true); @@ -18,19 +18,19 @@ public static class ObjectHelper return null; } - public static void DestroyObj(this GameObject obj) + internal static void DestroyObj(this GameObject obj) { if (obj != null) { UnityEngine.Object.Destroy(obj); } } - public static void DestroyObj(this UnityEngine.Object obj) => obj.DestroyObj(); - public static void DestroyCom(this Component com) => com.DestroyObj(); - public static void DestroyObj(this MonoBehaviour mono) => mono?.gameObject?.DestroyObj(); - public static void DestroyMono(this MonoBehaviour mono) => UnityEngine.Object.Destroy(mono); + internal static void DestroyObj(this UnityEngine.Object obj) => obj.DestroyObj(); + internal static void DestroyCom(this Component com) => com.DestroyObj(); + internal static void DestroyObj(this MonoBehaviour mono) => mono?.gameObject?.DestroyObj(); + internal static void DestroyMono(this MonoBehaviour mono) => UnityEngine.Object.Destroy(mono); - public static void DestroyTextTranslator(this GameObject obj) + internal static void DestroyTextTranslator(this GameObject obj) { var translator = obj.GetComponent(); if (translator != null) @@ -38,5 +38,5 @@ public static class ObjectHelper UnityEngine.Object.Destroy(translator); } } - public static void DestroyTextTranslator(this MonoBehaviour mono) => mono.gameObject.DestroyTextTranslator(); + internal static void DestroyTextTranslator(this MonoBehaviour mono) => mono.gameObject.DestroyTextTranslator(); } diff --git a/Helpers/PlayerControlHelper.cs b/Helpers/PlayerControlHelper.cs index 6a0983a..b73cfd3 100644 --- a/Helpers/PlayerControlHelper.cs +++ b/Helpers/PlayerControlHelper.cs @@ -11,7 +11,7 @@ namespace BetterAmongUs.Helpers; static class PlayerControlHelper { // Get players client - public static ClientData? GetClient(this PlayerControl player) + internal static ClientData? GetClient(this PlayerControl player) { try { @@ -24,9 +24,9 @@ static class PlayerControlHelper } } // Get players client id - public static int GetClientId(this PlayerControl player) => player?.GetClient()?.Id != null ? player.GetClient().Id : -1; + internal static int GetClientId(this PlayerControl player) => player?.GetClient()?.Id != null ? player.GetClient().Id : -1; // Get player name with outfit color - public static string GetPlayerNameAndColor(this PlayerControl player) + internal static string GetPlayerNameAndColor(this PlayerControl player) { if (player?.Data == null) return string.Empty; @@ -40,10 +40,10 @@ static class PlayerControlHelper } } - public static void DirtyName(this PlayerControl player) => player.BetterData().IsDirtyInfo = true; - public static void DirtyName(this NetworkedPlayerInfo data) => data.BetterData().IsDirtyInfo = true; - public static void DirtyNameDelay(this PlayerControl player, float delay = 1f) => player.Data.DirtyNameDelay(delay); - public static void DirtyNameDelay(this NetworkedPlayerInfo data, float delay = 1f) + internal static void DirtyName(this PlayerControl player) => player.BetterData().IsDirtyInfo = true; + internal static void DirtyName(this NetworkedPlayerInfo data) => data.BetterData().IsDirtyInfo = true; + internal static void DirtyNameDelay(this PlayerControl player, float delay = 1f) => player.Data.DirtyNameDelay(delay); + internal static void DirtyNameDelay(this NetworkedPlayerInfo data, float delay = 1f) { _ = new LateTask(() => { @@ -56,7 +56,7 @@ static class PlayerControlHelper // Set players over head text - public static void SetPlayerTextInfo(this PlayerControl player, string text, bool isBottom = false, bool isInfo = false) + internal static void SetPlayerTextInfo(this PlayerControl player, string text, bool isBottom = false, bool isInfo = false) { if (player == null) return; @@ -83,7 +83,7 @@ static class PlayerControlHelper } // Reset players over head text - public static void ResetAllPlayerTextInfo(this PlayerControl player) + internal static void ResetAllPlayerTextInfo(this PlayerControl player) { if (player == null) return; player.SetPlayerTextInfo("", isInfo: true); @@ -91,7 +91,7 @@ static class PlayerControlHelper player.SetPlayerTextInfo("", isBottom: true); } // Check if players character has been created and received from the Host - public static bool DataIsCollected(this PlayerControl player) + internal static bool DataIsCollected(this PlayerControl player) { if (player == null) return false; @@ -111,7 +111,7 @@ static class PlayerControlHelper return true; } // Kick player - public static void Kick(this PlayerControl player, bool ban = false, string setReasonInfo = "", bool AntiCheatBan = false, bool bypassDataCheck = false, bool forceBan = false) + internal static void Kick(this PlayerControl player, bool ban = false, string setReasonInfo = "", bool AntiCheatBan = false, bool bypassDataCheck = false, bool forceBan = false) { var Ban = ban || forceBan; @@ -140,7 +140,7 @@ static class PlayerControlHelper player.BetterData().AntiCheatInfo.BannedByAntiCheat = AntiCheatBan; } // Set color outline on player - public static void SetOutline(this PlayerControl player, bool active, Color? color = null) + internal static void SetOutline(this PlayerControl player, bool active, Color? color = null) { player.cosmetics.currentBodySprite.BodySprite.material.SetFloat("_Outline", active ? 1 : 0); SpriteRenderer[] longModeParts = player.cosmetics.currentBodySprite.LongModeParts; @@ -159,7 +159,7 @@ static class PlayerControlHelper } } // Set color outline on player - public static void SetOutlineByHex(this PlayerControl player, bool active, string hexColor = "") + internal static void SetOutlineByHex(this PlayerControl player, bool active, string hexColor = "") { Color color = Utils.HexToColor32(hexColor); player.cosmetics.currentBodySprite.BodySprite.material.SetFloat("_Outline", active ? 1 : 0); @@ -180,27 +180,27 @@ static class PlayerControlHelper } // RPCs // Set name for Target - public static void RpcSetNamePrivate(this PlayerControl player, string name, PlayerControl target) + internal static void RpcSetNamePrivate(this PlayerControl player, string name, PlayerControl target) { if (player == null || target == null) return; RPC.SetNamePrivate(player, name, target); } // Exile player - public static void RpcExile(this PlayerControl player) + internal static void RpcExile(this PlayerControl player) { if (player == null) return; RPC.ExileAsync(player); } // Check if player is selecting room to spawn in, for Airship - public static bool IsInRoomSelect(this PlayerControl player) + internal static bool IsInRoomSelect(this PlayerControl player) { if (player == null) return false; return GameState.AirshipIsActive && Vector2.Distance(player.GetTruePosition(), new(-25, 40)) < 5f; } // Check if player controller is self client - public static bool IsLocalPlayer(this PlayerControl player) => player != null && PlayerControl.LocalPlayer != null && player == PlayerControl.LocalPlayer; + internal static bool IsLocalPlayer(this PlayerControl player) => player != null && PlayerControl.LocalPlayer != null && player == PlayerControl.LocalPlayer; // Get vent Id that the player is in. - public static int GetPlayerVentId(this PlayerControl player) + internal static int GetPlayerVentId(this PlayerControl player) { if (player == null) return -1; @@ -211,16 +211,16 @@ static class PlayerControlHelper return ventilationSystem.PlayersInsideVents.TryGetValue(player.PlayerId, out var playerIdVentId) ? playerIdVentId : -1; } // Get true position - public static Vector2 GetCustomPosition(this PlayerControl player) => new(player.transform.position.x, player.transform.position.y); + internal static Vector2 GetCustomPosition(this PlayerControl player) => new(player.transform.position.x, player.transform.position.y); // Check if player is a dev - public static bool IsDev(this PlayerControl player) => player.BetterData().MyUserData.IsDev(); + internal static bool IsDev(this PlayerControl player) => player.BetterData().MyUserData.IsDev(); // Check if player is alive - public static bool IsAlive(this PlayerControl player) => player?.Data != null && !player.Data.IsDead; + internal static bool IsAlive(this PlayerControl player) => player?.Data != null && !player.Data.IsDead; // Check if player is in a vent - public static bool IsInVent(this PlayerControl player) => player != null && (player.inVent || player.walkingToVent || player.MyPhysics?.Animations?.IsPlayingEnterVentAnimation() == true); + internal static bool IsInVent(this PlayerControl player) => player != null && (player.inVent || player.walkingToVent || player.MyPhysics?.Animations?.IsPlayingEnterVentAnimation() == true); // Check if player role name - public static void UpdateColorBlindTextPosition(this PlayerControl player) + internal static void UpdateColorBlindTextPosition(this PlayerControl player) { var text = player.cosmetics.colorBlindText; if (!text.enabled) return; @@ -234,7 +234,7 @@ static class PlayerControlHelper } } - public static string GetRoleName(this PlayerControl player) + internal static string GetRoleName(this PlayerControl player) { if (!player.IsAlive() && !player.IsGhostRole() && Main.GetRoleName().TryGetValue((int)player.BetterData().RoleInfo.DeadDisplayRole, out var roleName)) { @@ -249,9 +249,9 @@ static class PlayerControlHelper return string.Empty; } // Check if player is Shapeshifting - public static bool IsInShapeshift(this PlayerControl player) => player != null && (player.shapeshiftTargetPlayerId > -1 || player.shapeshifting) && !player.waitingForShapeshiftResponse; + internal static bool IsInShapeshift(this PlayerControl player) => player != null && (player.shapeshiftTargetPlayerId > -1 || player.shapeshifting) && !player.waitingForShapeshiftResponse; // Check if player is in vanish as Phantom - public static bool IsInVanish(this PlayerControl player) + internal static bool IsInVanish(this PlayerControl player) { if (player != null && player.Data.Role is PhantomRole phantomRole) { @@ -260,7 +260,7 @@ static class PlayerControlHelper return false; } // Get hex color for team - public static string GetTeamHexColor(this PlayerControl player) + internal static string GetTeamHexColor(this PlayerControl player) { if (player == null) return "#ffffff"; @@ -274,47 +274,47 @@ static class PlayerControlHelper } } // Check if player is role type - public static bool Is(this PlayerControl player, RoleTypes role) => player?.Data?.RoleType == role; + internal static bool Is(this PlayerControl player, RoleTypes role) => player?.Data?.RoleType == role; // Check if player is Ghost role type - public static bool IsGhostRole(this PlayerControl player) => player?.Data?.RoleType is RoleTypes.GuardianAngel; + internal static bool IsGhostRole(this PlayerControl player) => player?.Data?.RoleType is RoleTypes.GuardianAngel; // Check if player is on imposter team - public static bool IsImpostorTeam(this PlayerControl player) => player?.Data != null && player.Data.RoleType is RoleTypes.Impostor or RoleTypes.ImpostorGhost or RoleTypes.Shapeshifter or RoleTypes.Phantom; + internal static bool IsImpostorTeam(this PlayerControl player) => player?.Data != null && player.Data.RoleType is RoleTypes.Impostor or RoleTypes.ImpostorGhost or RoleTypes.Shapeshifter or RoleTypes.Phantom; // Check if player is a imposter teammate - public static bool IsImpostorTeammate(this PlayerControl player) => + internal static bool IsImpostorTeammate(this PlayerControl player) => player != null && PlayerControl.LocalPlayer != null && (player.IsLocalPlayer() && PlayerControl.LocalPlayer.IsImpostorTeam() || PlayerControl.LocalPlayer.IsImpostorTeam() && player.IsImpostorTeam()); // Check if player is in the Anti-Cheat list - public static bool IsCheater(this PlayerControl player) => + internal static bool IsCheater(this PlayerControl player) => player != null && (BAUAntiCheat.PlayerData.ContainsKey(player.GetHashPuid()) || BAUAntiCheat.SickoData.ContainsKey(player.GetHashPuid()) || BAUAntiCheat.AUMData.ContainsKey(player.GetHashPuid())); // Check if player is the host - public static bool IsHost(this PlayerControl player) => player?.Data != null && GameData.Instance?.GetHost() == player.Data; + internal static bool IsHost(this PlayerControl player) => player?.Data != null && GameData.Instance?.GetHost() == player.Data; // Get players HashPuid - public static string GetHashPuid(this PlayerControl player) + internal static string GetHashPuid(this PlayerControl player) { return player.Data.GetHashPuid() ?? ""; } - public static string GetHashPuid(this NetworkedPlayerInfo data) + internal static string GetHashPuid(this NetworkedPlayerInfo data) { if (data?.Puid == null) return ""; return Utils.GetHashStr(data.Puid); } // Get players Friendcode - public static string GetHashFriendcode(this PlayerControl player) + internal static string GetHashFriendcode(this PlayerControl player) { return player.Data.GetHashFriendcode() ?? ""; } - public static string GetHashFriendcode(this NetworkedPlayerInfo data) + internal static string GetHashFriendcode(this NetworkedPlayerInfo data) { if (data?.FriendCode == null) return ""; return Utils.GetHashStr(data.FriendCode); } // Report player - public static void ReportPlayer(this PlayerControl player, ReportReasons reason = ReportReasons.None) + internal static void ReportPlayer(this PlayerControl player, ReportReasons reason = ReportReasons.None) { if (player?.GetClient() != null) { diff --git a/Helpers/ShuffleHelper.cs b/Helpers/ShuffleHelper.cs index 4599fc0..f777671 100644 --- a/Helpers/ShuffleHelper.cs +++ b/Helpers/ShuffleHelper.cs @@ -1,6 +1,6 @@ namespace BetterAmongUs.Helpers; -public static class ShuffleListExtension +internal static class ShuffleListExtension { /// /// Shuffles all elements in a collection randomly @@ -9,7 +9,7 @@ public static class ShuffleListExtension /// The collection to be shuffled /// An instance of a randomizer algorithm /// The shuffled collection - public static IEnumerable Shuffle(this IEnumerable collection, Random random) + internal static IEnumerable Shuffle(this IEnumerable collection, Random random) { var list = collection.ToList(); int n = list.Count; diff --git a/Helpers/Utils.cs b/Helpers/Utils.cs index 9cff407..9cc2daa 100644 --- a/Helpers/Utils.cs +++ b/Helpers/Utils.cs @@ -12,9 +12,9 @@ using UnityEngine.Networking; namespace BetterAmongUs.Helpers; -public static class Utils +internal static class Utils { - public static bool IsInternetAvailable() + internal static bool IsInternetAvailable() { if (Application.internetReachability == NetworkReachability.NotReachable) return false; @@ -37,21 +37,21 @@ public static class Utils } } // Get player by client id - public static ClientData? ClientFromClientId(int clientId) => AmongUsClient.Instance.allClients.ToArray().FirstOrDefault(cd => cd.Id == clientId) ?? null; + internal static ClientData? ClientFromClientId(int clientId) => AmongUsClient.Instance.allClients.ToArray().FirstOrDefault(cd => cd.Id == clientId) ?? null; // Get player data from player id - public static NetworkedPlayerInfo? PlayerDataFromPlayerId(int playerId) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.PlayerId == playerId); + internal static NetworkedPlayerInfo? PlayerDataFromPlayerId(int playerId) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.PlayerId == playerId); // Get player data from client id - public static NetworkedPlayerInfo? PlayerDataFromClientId(int clientId) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.ClientId == clientId); + internal static NetworkedPlayerInfo? PlayerDataFromClientId(int clientId) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.ClientId == clientId); // Get player data from friend code - public static NetworkedPlayerInfo? PlayerDataFromFriendCode(string friendCode) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.FriendCode == friendCode); + internal static NetworkedPlayerInfo? PlayerDataFromFriendCode(string friendCode) => GameData.Instance.AllPlayers.ToArray().FirstOrDefault(data => data.FriendCode == friendCode); // Get player from player id - public static PlayerControl? PlayerFromPlayerId(int playerId) => Main.AllPlayerControls.FirstOrDefault(player => player.PlayerId == playerId) ?? null; + internal static PlayerControl? PlayerFromPlayerId(int playerId) => Main.AllPlayerControls.FirstOrDefault(player => player.PlayerId == playerId) ?? null; // Get player from client id - public static PlayerControl? PlayerFromClientId(int clientId) => Main.AllPlayerControls.FirstOrDefault(player => player.GetClientId() == clientId) ?? null; + internal static PlayerControl? PlayerFromClientId(int clientId) => Main.AllPlayerControls.FirstOrDefault(player => player.GetClientId() == clientId) ?? null; // Get player from net id - public static PlayerControl? PlayerFromNetId(uint netId) => Main.AllPlayerControls.FirstOrDefault(player => player.NetId == netId) ?? null; + internal static PlayerControl? PlayerFromNetId(uint netId) => Main.AllPlayerControls.FirstOrDefault(player => player.NetId == netId) ?? null; // Add msg to chat - public static void AddChatPrivate(string text, string overrideName = "", bool setRight = false) + internal static void AddChatPrivate(string text, string overrideName = "", bool setRight = false) { ChatController chat = HudManager.Instance.Chat; NetworkedPlayerInfo data = PlayerControl.LocalPlayer.Data; @@ -95,14 +95,14 @@ public static class Utils throw; } } - public static bool SystemTypeIsSabotage(SystemTypes type) => type is SystemTypes.Reactor + internal static bool SystemTypeIsSabotage(SystemTypes type) => type is SystemTypes.Reactor or SystemTypes.Laboratory or SystemTypes.Comms or SystemTypes.LifeSupp or SystemTypes.MushroomMixupSabotage or SystemTypes.HeliSabotage or SystemTypes.Electrical; - public static bool SystemTypeIsSabotage(int typeNum) => (SystemTypes)typeNum is SystemTypes.Reactor + internal static bool SystemTypeIsSabotage(int typeNum) => (SystemTypes)typeNum is SystemTypes.Reactor or SystemTypes.Laboratory or SystemTypes.Comms or SystemTypes.LifeSupp @@ -110,13 +110,13 @@ public static class Utils or SystemTypes.HeliSabotage or SystemTypes.Electrical; // Get players HashPuid - public static string GetHashPuid(PlayerControl player) + internal static string GetHashPuid(PlayerControl player) { if (player?.Data?.Puid == null) return ""; return GetHashStr(player.Data.Puid); } // Get HashPuid from puid - public static string GetHashStr(string str) + internal static string GetHashStr(string str) { if (string.IsNullOrEmpty(str)) return ""; @@ -125,16 +125,16 @@ public static class Utils string sha256Hash = BitConverter.ToString(sha256Bytes).Replace("-", "").ToLower(); return sha256Hash.Substring(0, 5) + sha256Hash.Substring(sha256Hash.Length - 4); } - public static ushort GetHashUInt16(string input) + internal static ushort GetHashUInt16(string input) { if (string.IsNullOrEmpty(input)) return 0; return (ushort)(BitConverter.ToUInt16(SHA256.HashData(Encoding.UTF8.GetBytes(input)), 0) % 65536); } // Remove Html Tags Template - public static string RemoveHtmlTagsTemplate(string str) => Regex.Replace(str, "", ""); + internal static string RemoveHtmlTagsTemplate(string str) => Regex.Replace(str, "", ""); // Get raw text - public static string RemoveHtmlText(string text) + internal static string RemoveHtmlText(string text) { text = Regex.Replace(text, "<[^>]*>", ""); text = Regex.Replace(text, "{[^}]*}", ""); @@ -144,10 +144,10 @@ public static class Utils return text; } - public static string ToColor(this string str, string hexColor) => $"<{hexColor}>{str}"; - public static string ToColor(this string str, Color color) => $"<{Color32ToHex(color)}>{str}"; + internal static string ToColor(this string str, string hexColor) => $"<{hexColor}>{str}"; + internal static string ToColor(this string str, Color color) => $"<{Color32ToHex(color)}>{str}"; - public static bool IsHtmlText(string text) + internal static bool IsHtmlText(string text) { if (Regex.IsMatch(text, "<[^>]*>")) { @@ -165,7 +165,7 @@ public static class Utils return false; } - public static void DirtyAllNames() + internal static void DirtyAllNames() { foreach (var player in Main.AllPlayerControls) { @@ -175,11 +175,11 @@ public static class Utils } // Get name for role - public static string GetRoleName(RoleTypes role) => Main.GetRoleName()[(int)role]; + internal static string GetRoleName(RoleTypes role) => Main.GetRoleName()[(int)role]; // Get color for role - public static string GetRoleColor(RoleTypes role) => Main.GetRoleColor[(int)role]; + internal static string GetRoleColor(RoleTypes role) => Main.GetRoleColor[(int)role]; // Get hex color for team - public static string GetTeamHexColor(RoleTeamTypes team) + internal static string GetTeamHexColor(RoleTeamTypes team) { if (team == RoleTeamTypes.Impostor) { @@ -190,9 +190,9 @@ public static class Utils return "#8cffff"; } } - public static string Color32ToHex(Color32 color) => $"#{color.r:X2}{color.g:X2}{color.b:X2}{255:X2}"; + internal static string Color32ToHex(Color32 color) => $"#{color.r:X2}{color.g:X2}{color.b:X2}{255:X2}"; - public static Color HexToColor32(string hex) + internal static Color HexToColor32(string hex) { if (hex.StartsWith("#")) { @@ -206,7 +206,7 @@ public static class Utils return new Color32(r, g, b, 255); } - public static void DisconnectAccountFromOnline(bool apiError = false) + internal static void DisconnectAccountFromOnline(bool apiError = false) { if (GameState.IsInGame) { @@ -222,7 +222,7 @@ public static class Utils } // Disconnect client - public static void DisconnectSelf(string reason, bool showReason = true) + internal static void DisconnectSelf(string reason, bool showReason = true) { AmongUsClient.Instance.ExitGame(0); _ = new LateTask(() => @@ -239,16 +239,16 @@ public static class Utils }, 0.2f, "DisconnectSelf 1"); } // Show dc pop up with text - public static void ShowPopUp(string text, bool enableWordWrapping = false) + internal static void ShowPopUp(string text, bool enableWordWrapping = false) { DisconnectPopup.Instance.gameObject.SetActive(true); DisconnectPopup.Instance._textArea.enableWordWrapping = enableWordWrapping; DisconnectPopup.Instance._textArea.text = text; } - public static Dictionary CachedSprites = []; + internal static Dictionary CachedSprites = []; - public static Sprite? LoadSprite(string path, float pixelsPerUnit = 1f) + internal static Sprite? LoadSprite(string path, float pixelsPerUnit = 1f) { try { @@ -272,7 +272,7 @@ public static class Utils } } - public static Texture2D? LoadTextureFromResources(string path) + internal static Texture2D? LoadTextureFromResources(string path) { try { @@ -299,7 +299,7 @@ public static class Utils } // Get platform name - public static string GetPlatformName(PlayerControl player, bool useTag = false) + internal static string GetPlatformName(PlayerControl player, bool useTag = false) { if (player == null) return string.Empty; if (player.GetClient() == null) return string.Empty; @@ -368,7 +368,7 @@ public static class Utils return $"{Tag}: {PlatformName}"; } - public static string GetPlatformName(Platforms platform, bool useTag = false) + internal static string GetPlatformName(Platforms platform, bool useTag = false) { string Tag = string.Empty; diff --git a/Items/Attributes/StaticClassesAttribute.cs b/Items/Attributes/StaticClassesAttribute.cs index da200a7..b796503 100644 --- a/Items/Attributes/StaticClassesAttribute.cs +++ b/Items/Attributes/StaticClassesAttribute.cs @@ -4,9 +4,9 @@ using System.Reflection; namespace BetterAmongUs.Items.Attributes; -public abstract class InstanceAttribute : Attribute +internal abstract class InstanceAttribute : Attribute { - public static void RegisterAll() + internal static void RegisterAll() { var assembly = Assembly.GetExecutingAssembly(); @@ -28,11 +28,11 @@ public abstract class InstanceAttribute : Attribute } [AttributeUsage(AttributeTargets.Class)] -public abstract class StaticInstanceAttribute : InstanceAttribute where T : class +internal abstract class StaticInstanceAttribute : InstanceAttribute where T : class { private static readonly List _instances = []; - public static IReadOnlyList Instances => _instances.AsReadOnly(); - public static J? GetClassInstance() where J : class => _instances.FirstOrDefault(instance => instance.GetType() == typeof(J)) as J; + internal static IReadOnlyList Instances => _instances.AsReadOnly(); + internal static J? GetClassInstance() where J : class => _instances.FirstOrDefault(instance => instance.GetType() == typeof(J)) as J; protected override void RegisterInstances() { @@ -45,8 +45,8 @@ public abstract class StaticInstanceAttribute : InstanceAttribute where T : c { if (typeof(T).IsAssignableFrom(type)) { - var instance = Activator.CreateInstance(type) as T; - if (instance != null) + var constructor = type.GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public, null, Type.EmptyTypes, null); + if (constructor != null && constructor.Invoke(null) is T instance) { _instances.Add(instance); } @@ -56,10 +56,10 @@ public abstract class StaticInstanceAttribute : InstanceAttribute where T : c } // Class instances -public sealed class RegisterCommandAttribute : StaticInstanceAttribute +internal sealed class RegisterCommandAttribute : StaticInstanceAttribute { } -public sealed class RegisterRPCHandlerAttribute : StaticInstanceAttribute +internal sealed class RegisterRPCHandlerAttribute : StaticInstanceAttribute { } \ No newline at end of file diff --git a/Items/BannedUserData.cs b/Items/BannedUserData.cs index 0bd0f5e..ee0a5b2 100644 --- a/Items/BannedUserData.cs +++ b/Items/BannedUserData.cs @@ -4,26 +4,26 @@ using System.Text.Json.Serialization; namespace BetterAmongUs.Items; [method: JsonConstructor] -public class BannedUserData(string name = "", string puid = "", string friendCode = "", string reason = "") +internal class BannedUserData(string name = "", string puid = "", string friendCode = "", string reason = "") { - public static List AllBannedUsers = [new BannedUserData("Default")]; + internal static List AllBannedUsers = [new BannedUserData("Default")]; - public bool IsLocalBan { get; private set; } + internal bool IsLocalBan { get; private set; } [JsonPropertyName("name")] - public string Name { get; } = name; + internal string Name { get; } = name; [JsonPropertyName("puid")] - public string Puid { get; } = puid; + internal string Puid { get; } = puid; [JsonPropertyName("friendcode")] - public string FriendCode { get; } = friendCode; + internal string FriendCode { get; } = friendCode; [JsonPropertyName("reason")] - public string Reason { get; } = reason; + internal string Reason { get; } = reason; - public static bool IsBanned = false; - public static bool CheckLocalBan(out BannedUserData? bannedData) + internal static bool IsBanned = false; + internal static bool CheckLocalBan(out BannedUserData? bannedData) { bannedData = null; if (IsBanned) return true; @@ -42,7 +42,7 @@ public class BannedUserData(string name = "", string puid = "", string friendCod return false; } - public static bool CheckPlayerBan(NetworkedPlayerInfo data) => AllBannedUsers?.FirstOrDefault(user => user.Puid == data.GetHashPuid() || user.FriendCode == data.GetHashFriendcode()) != null; - public static bool CheckPuidBan(string puid) => AllBannedUsers?.FirstOrDefault(user => user.Puid == Utils.GetHashStr(puid)) != null; - public static bool CheckFriendCodeBan(string friendcode) => AllBannedUsers?.FirstOrDefault(user => user.FriendCode == Utils.GetHashStr(friendcode)) != null; + internal static bool CheckPlayerBan(NetworkedPlayerInfo data) => AllBannedUsers?.FirstOrDefault(user => user.Puid == data.GetHashPuid() || user.FriendCode == data.GetHashFriendcode()) != null; + internal static bool CheckPuidBan(string puid) => AllBannedUsers?.FirstOrDefault(user => user.Puid == Utils.GetHashStr(puid)) != null; + internal static bool CheckFriendCodeBan(string friendcode) => AllBannedUsers?.FirstOrDefault(user => user.FriendCode == Utils.GetHashStr(friendcode)) != null; } \ No newline at end of file diff --git a/Items/OptionItems/BetterOptionCheckboxItem.cs b/Items/OptionItems/BetterOptionCheckboxItem.cs index 3d13499..6df5006 100644 --- a/Items/OptionItems/BetterOptionCheckboxItem.cs +++ b/Items/OptionItems/BetterOptionCheckboxItem.cs @@ -3,16 +3,16 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionCheckboxItem : BetterOptionItem +internal class BetterOptionCheckboxItem : BetterOptionItem { private ToggleOption? ThisOption; private bool? IsChecked; - public override bool ShowChildrenCondition() => IsChecked == true; - public override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); - public Func? ShowCondition = null; + internal override bool ShowChildrenCondition() => IsChecked == true; + internal override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); + internal Func? ShowCondition = null; - public BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, bool DefaultValue = true, BetterOptionItem? Parent = null, Func? selfShowCondition = null) + internal BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, bool DefaultValue = true, BetterOptionItem? Parent = null, Func? selfShowCondition = null) { Id = id; Tab = gameOptionsMenu; @@ -73,7 +73,7 @@ public class BetterOptionCheckboxItem : BetterOptionItem return this; } - public void Load(bool DefaultValue) + internal void Load(bool DefaultValue) { if (BetterDataManager.CanLoadSetting(Id)) { @@ -89,7 +89,7 @@ public class BetterOptionCheckboxItem : BetterOptionItem } } - public override bool GetBool() + internal override bool GetBool() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -101,7 +101,7 @@ public class BetterOptionCheckboxItem : BetterOptionItem } } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { @@ -110,7 +110,7 @@ public class BetterOptionCheckboxItem : BetterOptionItem }; } - public override void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal override void ValueChanged(int id, OptionBehaviour optionBehaviour) { IsChecked = !IsChecked; BetterDataManager.SaveSetting(Id, IsChecked.ToString()); diff --git a/Items/OptionItems/BetterOptionFloatItem.cs b/Items/OptionItems/BetterOptionFloatItem.cs index 1f6b996..74390ad 100644 --- a/Items/OptionItems/BetterOptionFloatItem.cs +++ b/Items/OptionItems/BetterOptionFloatItem.cs @@ -3,20 +3,20 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionFloatItem : BetterOptionItem +internal class BetterOptionFloatItem : BetterOptionItem { private NumberOption? ThisOption; - public float CurrentValue; - public FloatRange floatRange = new(0f, 180f); - public float Increment = 2.5f; + internal float CurrentValue; + internal FloatRange floatRange = new(0f, 180f); + internal float Increment = 2.5f; private string? PostFix; private string? PreFix; - public override bool ShowChildrenCondition() => CurrentValue > floatRange.min; - public override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); - public Func? ShowCondition = null; + internal override bool ShowChildrenCondition() => CurrentValue > floatRange.min; + internal override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); + internal Func? ShowCondition = null; - public BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, float[] values, float DefaultValue, string preFix = "", string postFix = "", BetterOptionItem? Parent = null, Func? selfShowCondition = null) + internal BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, float[] values, float DefaultValue, string preFix = "", string postFix = "", BetterOptionItem? Parent = null, Func? selfShowCondition = null) { Id = id; floatRange = new(values[0], values[1]); @@ -117,7 +117,7 @@ public class BetterOptionFloatItem : BetterOptionItem BetterDataManager.SaveSetting(Id, CurrentValue.ToString()); } - public void Increase() + internal void Increase() { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) @@ -137,7 +137,7 @@ public class BetterOptionFloatItem : BetterOptionItem AdjustButtonsActiveState(); } - public void Decrease() + internal void Decrease() { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) @@ -157,7 +157,7 @@ public class BetterOptionFloatItem : BetterOptionItem AdjustButtonsActiveState(); } - public void Load(float DefaultValue) + internal void Load(float DefaultValue) { if (BetterDataManager.CanLoadSetting(Id)) { @@ -177,7 +177,7 @@ public class BetterOptionFloatItem : BetterOptionItem } } - public override float GetFloat() + internal override float GetFloat() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -189,7 +189,7 @@ public class BetterOptionFloatItem : BetterOptionItem } } - public override int GetInt() + internal override int GetInt() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -201,7 +201,7 @@ public class BetterOptionFloatItem : BetterOptionItem } } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { @@ -210,7 +210,7 @@ public class BetterOptionFloatItem : BetterOptionItem }; } - public override void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal override void ValueChanged(int id, OptionBehaviour optionBehaviour) { if (IsParent || IsChild) { diff --git a/Items/OptionItems/BetterOptionIntItem.cs b/Items/OptionItems/BetterOptionIntItem.cs index 95cc5b8..b93ca48 100644 --- a/Items/OptionItems/BetterOptionIntItem.cs +++ b/Items/OptionItems/BetterOptionIntItem.cs @@ -3,20 +3,20 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionIntItem : BetterOptionItem +internal class BetterOptionIntItem : BetterOptionItem { private NumberOption? ThisOption; - public int CurrentValue; - public IntRange intRange = new(0, 180); - public int Increment = 1; + internal int CurrentValue; + internal IntRange intRange = new(0, 180); + internal int Increment = 1; private string? PostFix; private string? PreFix; - public override bool ShowChildrenCondition() => CurrentValue > intRange.min; - public override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); - public Func? ShowCondition = null; + internal override bool ShowChildrenCondition() => CurrentValue > intRange.min; + internal override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); + internal Func? ShowCondition = null; - public BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, int[] values, int DefaultValue, string preFix = "", string postFix = "", BetterOptionItem? Parent = null, Func? selfShowCondition = null) + internal BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, int[] values, int DefaultValue, string preFix = "", string postFix = "", BetterOptionItem? Parent = null, Func? selfShowCondition = null) { Id = id; intRange = new(values[0], values[1]); @@ -117,7 +117,7 @@ public class BetterOptionIntItem : BetterOptionItem BetterDataManager.SaveSetting(Id, CurrentValue.ToString()); } - public void Increase() + internal void Increase() { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) @@ -137,7 +137,7 @@ public class BetterOptionIntItem : BetterOptionItem AdjustButtonsActiveState(); } - public void Decrease() + internal void Decrease() { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) @@ -157,7 +157,7 @@ public class BetterOptionIntItem : BetterOptionItem AdjustButtonsActiveState(); } - public void Load(int DefaultValue) + internal void Load(int DefaultValue) { if (BetterDataManager.CanLoadSetting(Id)) { @@ -177,7 +177,7 @@ public class BetterOptionIntItem : BetterOptionItem } } - public override float GetFloat() + internal override float GetFloat() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -189,7 +189,7 @@ public class BetterOptionIntItem : BetterOptionItem } } - public override int GetInt() + internal override int GetInt() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -201,7 +201,7 @@ public class BetterOptionIntItem : BetterOptionItem } } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { @@ -210,7 +210,7 @@ public class BetterOptionIntItem : BetterOptionItem }; } - public override void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal override void ValueChanged(int id, OptionBehaviour optionBehaviour) { if (IsParent || IsChild) { diff --git a/Items/OptionItems/BetterOptionItem.cs b/Items/OptionItems/BetterOptionItem.cs index 9b924de..c675fed 100644 --- a/Items/OptionItems/BetterOptionItem.cs +++ b/Items/OptionItems/BetterOptionItem.cs @@ -5,31 +5,31 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionItem +internal class BetterOptionItem { - public float StaticSpacingNum => 1f; - public float StaticSpacingNumPlus => 0.45f; - public static Dictionary TempPlayerOptionData = []; - public static int TempPlayerOptionDataNum = 0; - public static List BetterOptionItems = []; - public static float SpacingNum = 0; + internal float StaticSpacingNum => 1f; + internal float StaticSpacingNumPlus => 0.45f; + internal static Dictionary TempPlayerOptionData = []; + internal static int TempPlayerOptionDataNum = 0; + internal static List BetterOptionItems = []; + internal static float SpacingNum = 0; - public int maskLayer = 20; - public int Id = 0; - public GameOptionsMenu? Tab; - public OptionBehaviour? Option; - public string? Name = "None"; - public TextMeshPro? TitleText; - public GameObject? obj; + internal int maskLayer = 20; + internal int Id = 0; + internal GameOptionsMenu? Tab; + internal OptionBehaviour? Option; + internal string? Name = "None"; + internal TextMeshPro? TitleText; + internal GameObject? obj; - public BetterOptionItem? ThisParent; - public bool IsChild = false; - public bool IsParent => ChildrenList.Count > 0; - public List ChildrenList = []; - public virtual bool ShowChildrenCondition() => false; - public virtual bool SelfShowCondition() => true; + internal BetterOptionItem? ThisParent; + internal bool IsChild = false; + internal bool IsParent => ChildrenList.Count > 0; + internal List ChildrenList = []; + internal virtual bool ShowChildrenCondition() => false; + internal virtual bool SelfShowCondition() => true; - public static void UpdatePositions() + internal static void UpdatePositions() { SpacingNum = 0f; @@ -78,7 +78,7 @@ public class BetterOptionItem GameSettingMenuPatch.BetterSettingsTab.scrollBar.ScrollRelative(new(0f, 0f)); } - public void SetUp(OptionBehaviour optionBehaviour) + internal void SetUp(OptionBehaviour optionBehaviour) { SpriteRenderer[] componentsInChildren = optionBehaviour.GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) @@ -92,32 +92,32 @@ public class BetterOptionItem } } - public virtual bool GetBool() + internal virtual bool GetBool() { throw new NotImplementedException(); } - public virtual float GetFloat() + internal virtual float GetFloat() { throw new NotImplementedException(); } - public virtual int GetInt() + internal virtual int GetInt() { throw new NotImplementedException(); } - public virtual int GetValue() + internal virtual int GetValue() { throw new NotImplementedException(); } - public virtual void SetData(OptionBehaviour optionBehaviour) + internal virtual void SetData(OptionBehaviour optionBehaviour) { throw new NotImplementedException(); } - public virtual void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal virtual void ValueChanged(int id, OptionBehaviour optionBehaviour) { throw new NotImplementedException(); } diff --git a/Items/OptionItems/BetterOptionPlayerItem.cs b/Items/OptionItems/BetterOptionPlayerItem.cs index 7e6a525..9cd9367 100644 --- a/Items/OptionItems/BetterOptionPlayerItem.cs +++ b/Items/OptionItems/BetterOptionPlayerItem.cs @@ -3,16 +3,16 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionPlayerItem : BetterOptionItem +internal class BetterOptionPlayerItem : BetterOptionItem { private NumberOption? ThisOption; - public int CurrentIndex = -1; + internal int CurrentIndex = -1; - public override bool ShowChildrenCondition() => CurrentIndex > -1; - public override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); - public Func? ShowCondition = null; + internal override bool ShowChildrenCondition() => CurrentIndex > -1; + internal override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); + internal Func? ShowCondition = null; - public BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name, BetterOptionItem? Parent = null, Func? selfShowCondition = null) + internal BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name, BetterOptionItem? Parent = null, Func? selfShowCondition = null) { Id = TempPlayerOptionDataNum + 1; Tab = gameOptionsMenu; @@ -110,7 +110,7 @@ public class BetterOptionPlayerItem : BetterOptionItem TempPlayerOptionData[Id] = CurrentIndex; } - public void Increase() + internal void Increase() { if (CurrentIndex < Main.AllPlayerControls.Count) { @@ -119,7 +119,7 @@ public class BetterOptionPlayerItem : BetterOptionItem } } - public void Decrease() + internal void Decrease() { if (CurrentIndex > -1) { @@ -128,7 +128,7 @@ public class BetterOptionPlayerItem : BetterOptionItem } } - public int Load() + internal int Load() { if (TempPlayerOptionData.ContainsKey(Id)) { @@ -150,7 +150,7 @@ public class BetterOptionPlayerItem : BetterOptionItem return CurrentIndex; } - public override int GetValue() + internal override int GetValue() { if (SelfShowCondition()) { @@ -162,7 +162,7 @@ public class BetterOptionPlayerItem : BetterOptionItem } } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { @@ -171,7 +171,7 @@ public class BetterOptionPlayerItem : BetterOptionItem }; } - public override void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal override void ValueChanged(int id, OptionBehaviour optionBehaviour) { if (IsParent || IsChild) { diff --git a/Items/OptionItems/BetterOptionStringItem.cs b/Items/OptionItems/BetterOptionStringItem.cs index 99ebf04..beea451 100644 --- a/Items/OptionItems/BetterOptionStringItem.cs +++ b/Items/OptionItems/BetterOptionStringItem.cs @@ -3,17 +3,17 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionStringItem : BetterOptionItem +internal class BetterOptionStringItem : BetterOptionItem { private StringOption? ThisOption; - public string[] Values = []; - public int CurrentValue; + internal string[] Values = []; + internal int CurrentValue; - public override bool ShowChildrenCondition() => CurrentValue > 0; - public override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); - public Func? ShowCondition = null; + internal override bool ShowChildrenCondition() => CurrentValue > 0; + internal override bool SelfShowCondition() => ShowCondition != null ? ShowCondition() : base.SelfShowCondition(); + internal Func? ShowCondition = null; - public BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, string[] strings, int DefaultValue = 0, BetterOptionItem? Parent = null, Func? selfShowCondition = null) + internal BetterOptionItem Create(int id, GameOptionsMenu gameOptionsMenu, string name, string[] strings, int DefaultValue = 0, BetterOptionItem? Parent = null, Func? selfShowCondition = null) { Id = id; Values = strings; @@ -112,7 +112,7 @@ public class BetterOptionStringItem : BetterOptionItem BetterDataManager.SaveSetting(Id, CurrentValue.ToString()); } - public void Increase() + internal void Increase() { if (CurrentValue < Values.Length) { @@ -121,7 +121,7 @@ public class BetterOptionStringItem : BetterOptionItem } } - public void Decrease() + internal void Decrease() { if (CurrentValue > 0) { @@ -130,7 +130,7 @@ public class BetterOptionStringItem : BetterOptionItem } } - public void Load(int DefaultValue) + internal void Load(int DefaultValue) { if (BetterDataManager.CanLoadSetting(Id)) { @@ -150,7 +150,7 @@ public class BetterOptionStringItem : BetterOptionItem } } - public override int GetValue() + internal override int GetValue() { if (BetterDataManager.CanLoadSetting(Id)) { @@ -162,7 +162,7 @@ public class BetterOptionStringItem : BetterOptionItem } } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { @@ -171,7 +171,7 @@ public class BetterOptionStringItem : BetterOptionItem }; } - public override void ValueChanged(int id, OptionBehaviour optionBehaviour) + internal override void ValueChanged(int id, OptionBehaviour optionBehaviour) { if (IsParent || IsChild) { diff --git a/Items/OptionItems/NoneOption/BetterOptionDividerItem.cs b/Items/OptionItems/NoneOption/BetterOptionDividerItem.cs index 121bde5..277cab4 100644 --- a/Items/OptionItems/NoneOption/BetterOptionDividerItem.cs +++ b/Items/OptionItems/NoneOption/BetterOptionDividerItem.cs @@ -3,9 +3,9 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionDividerItem : BetterOptionItem +internal class BetterOptionDividerItem : BetterOptionItem { - public BetterOptionItem Create(GameOptionsMenu gameOptionsMenu) + internal BetterOptionItem Create(GameOptionsMenu gameOptionsMenu) { if (gameOptionsMenu == null) { diff --git a/Items/OptionItems/NoneOption/BetterOptionHeaderItem.cs b/Items/OptionItems/NoneOption/BetterOptionHeaderItem.cs index d29d0d7..17be438 100644 --- a/Items/OptionItems/NoneOption/BetterOptionHeaderItem.cs +++ b/Items/OptionItems/NoneOption/BetterOptionHeaderItem.cs @@ -2,9 +2,9 @@ namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionHeaderItem : BetterOptionItem +internal class BetterOptionHeaderItem : BetterOptionItem { - public BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name) + internal BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name) { if (gameOptionsMenu == null) { diff --git a/Items/OptionItems/NoneOption/BetterOptionTitleItem.cs b/Items/OptionItems/NoneOption/BetterOptionTitleItem.cs index 904d8e7..39da84c 100644 --- a/Items/OptionItems/NoneOption/BetterOptionTitleItem.cs +++ b/Items/OptionItems/NoneOption/BetterOptionTitleItem.cs @@ -3,9 +3,9 @@ using UnityEngine; namespace BetterAmongUs.Items.OptionItems; -public class BetterOptionTitleItem : BetterOptionItem +internal class BetterOptionTitleItem : BetterOptionItem { - public BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name) + internal BetterOptionItem Create(GameOptionsMenu gameOptionsMenu, string name) { if (gameOptionsMenu == null) { @@ -45,7 +45,7 @@ public class BetterOptionTitleItem : BetterOptionItem return this; } - public override void SetData(OptionBehaviour optionBehaviour) + internal override void SetData(OptionBehaviour optionBehaviour) { optionBehaviour.data = new BaseGameSetting { diff --git a/Items/UserData.cs b/Items/UserData.cs index fe9d415..4ba8194 100644 --- a/Items/UserData.cs +++ b/Items/UserData.cs @@ -4,7 +4,7 @@ using System.Text.Json.Serialization; namespace BetterAmongUs.Items; [Flags] -public enum MultiPermissionFlags : ushort +internal enum MultiPermissionFlags : ushort { Contributor_1 = 1 << 0, Contributor_2 = 1 << 1, @@ -16,32 +16,32 @@ public enum MultiPermissionFlags : ushort } [method: JsonConstructor] -public class UserData(string name = "", string puid = "", string friendCode = "", string overheadTag = "", string overheadColor = "", ushort permissions = 0) +internal class UserData(string name = "", string puid = "", string friendCode = "", string overheadTag = "", string overheadColor = "", ushort permissions = 0) { - public static List AllUsers = [new UserData("Default")]; + internal static List AllUsers = [new UserData("Default")]; - public bool IsLocalData { get; private set; } + internal bool IsLocalData { get; private set; } [JsonPropertyName("name")] - public string Name { get; } = name; + internal string Name { get; } = name; [JsonPropertyName("puid")] - public string Puid { get; } = puid; + internal string Puid { get; } = puid; [JsonPropertyName("friendcode")] - public string FriendCode { get; } = friendCode; + internal string FriendCode { get; } = friendCode; [JsonPropertyName("overheadtag")] - public string OverheadTag { get; } = overheadTag; + internal string OverheadTag { get; } = overheadTag; [JsonPropertyName("overheadColor")] - public string OverheadColor { get; } = overheadColor; + internal string OverheadColor { get; } = overheadColor; [JsonPropertyName("permissions")] - public ushort Permissions { get; } = permissions; + internal ushort Permissions { get; } = permissions; private static bool HasLocalData = false; - public static void TrySetLocalData() + internal static void TrySetLocalData() { if (!HasLocalData) { @@ -61,9 +61,9 @@ public class UserData(string name = "", string puid = "", string friendCode = "" } } } - public static UserData? GetPlayerUserData(NetworkedPlayerInfo data) => AllUsers?.FirstOrDefault(user => user.Puid == data.GetHashPuid() || user.FriendCode == data.GetHashFriendcode()) ?? AllUsers.First(); - public static UserData? GetPlayerUserDataFromPuid(string puid) => AllUsers?.FirstOrDefault(user => user.Puid == Utils.GetHashStr(puid)) ?? AllUsers.First(); - public static UserData? GetPlayerUserDataFromFriendCode(string friendcode) => AllUsers?.FirstOrDefault(user => user.FriendCode == Utils.GetHashStr(friendcode)) ?? AllUsers.First(); + internal static UserData? GetPlayerUserData(NetworkedPlayerInfo data) => AllUsers?.FirstOrDefault(user => user.Puid == data.GetHashPuid() || user.FriendCode == data.GetHashFriendcode()) ?? AllUsers.First(); + internal static UserData? GetPlayerUserDataFromPuid(string puid) => AllUsers?.FirstOrDefault(user => user.Puid == Utils.GetHashStr(puid)) ?? AllUsers.First(); + internal static UserData? GetPlayerUserDataFromFriendCode(string friendcode) => AllUsers?.FirstOrDefault(user => user.FriendCode == Utils.GetHashStr(friendcode)) ?? AllUsers.First(); private bool HasPermission(MultiPermissionFlags permissionFlags) { @@ -75,14 +75,14 @@ public class UserData(string name = "", string puid = "", string friendCode = "" return (Permissions & (ushort)permissionFlags) == (ushort)permissionFlags; } - public bool IsDev() => HasPermission(MultiPermissionFlags.Dev); - public bool IsTester() => HasPermission(MultiPermissionFlags.Tester); - public bool IsSponsorTier3() => HasPermission(MultiPermissionFlags.Contributor_3); - public bool IsSponsorTier2() => HasPermission(MultiPermissionFlags.Contributor_2 | MultiPermissionFlags.Contributor_3); - public bool IsSponsorTier1() => IsSponsor(); - public bool IsSponsor() => HasPermission(MultiPermissionFlags.Contributor_1 | MultiPermissionFlags.Contributor_2 | MultiPermissionFlags.Contributor_3 | MultiPermissionFlags.Dev); - public bool HasAll() => (Permissions & (ushort)MultiPermissionFlags.All) == (ushort)MultiPermissionFlags.All; - public bool IsVerified() => Puid == Utils.GetHashStr(EOSManager.Instance.ProductUserId) && FriendCode == Utils.GetHashStr(EOSManager.Instance.FriendCode); - public bool IsVerified(NetworkedPlayerInfo data) => Puid == Utils.GetHashStr(data?.Puid ?? string.Empty) && FriendCode == Utils.GetHashStr(data?.FriendCode ?? string.Empty); - public bool IsVerified(PlayerControl player) => Puid == Utils.GetHashStr(player?.Data?.Puid ?? string.Empty) && FriendCode == Utils.GetHashStr(player?.Data?.FriendCode ?? string.Empty); + internal bool IsDev() => HasPermission(MultiPermissionFlags.Dev); + internal bool IsTester() => HasPermission(MultiPermissionFlags.Tester); + internal bool IsSponsorTier3() => HasPermission(MultiPermissionFlags.Contributor_3); + internal bool IsSponsorTier2() => HasPermission(MultiPermissionFlags.Contributor_2 | MultiPermissionFlags.Contributor_3); + internal bool IsSponsorTier1() => IsSponsor(); + internal bool IsSponsor() => HasPermission(MultiPermissionFlags.Contributor_1 | MultiPermissionFlags.Contributor_2 | MultiPermissionFlags.Contributor_3 | MultiPermissionFlags.Dev); + internal bool HasAll() => (Permissions & (ushort)MultiPermissionFlags.All) == (ushort)MultiPermissionFlags.All; + internal bool IsVerified() => Puid == Utils.GetHashStr(EOSManager.Instance.ProductUserId) && FriendCode == Utils.GetHashStr(EOSManager.Instance.FriendCode); + internal bool IsVerified(NetworkedPlayerInfo data) => Puid == Utils.GetHashStr(data?.Puid ?? string.Empty) && FriendCode == Utils.GetHashStr(data?.FriendCode ?? string.Empty); + internal bool IsVerified(PlayerControl player) => Puid == Utils.GetHashStr(player?.Data?.Puid ?? string.Empty) && FriendCode == Utils.GetHashStr(player?.Data?.FriendCode ?? string.Empty); } \ No newline at end of file diff --git a/Managers/BetterDataManager.cs b/Managers/BetterDataManager.cs index 9850a33..fa482d5 100644 --- a/Managers/BetterDataManager.cs +++ b/Managers/BetterDataManager.cs @@ -7,20 +7,20 @@ namespace BetterAmongUs.Managers; class BetterDataManager { private static string filePath = GetFilePath("BetterData"); - public static string filePathFolder = Path.Combine(Main.GetGamePathToAmongUs(), $"Better_Data"); - public static string filePathFolderSaveInfo = Path.Combine(filePathFolder, $"SaveInfo"); - public static string filePathFolderSettings = Path.Combine(filePathFolder, $"Settings"); - public static string SettingsFile = Path.Combine(filePathFolderSettings, "Preset.json"); - public static string banPlayerListFile = Path.Combine(filePathFolderSaveInfo, "BanPlayerList.txt"); - public static string banNameListFile = Path.Combine(filePathFolderSaveInfo, "BanNameList.txt"); - public static string banWordListFile = Path.Combine(filePathFolderSaveInfo, "BanWordList.txt"); + internal static string filePathFolder = Path.Combine(Main.GetGamePathToAmongUs(), $"Better_Data"); + internal static string filePathFolderSaveInfo = Path.Combine(filePathFolder, $"SaveInfo"); + internal static string filePathFolderSettings = Path.Combine(filePathFolder, $"Settings"); + internal static string SettingsFile = Path.Combine(filePathFolderSettings, "Preset.json"); + internal static string banPlayerListFile = Path.Combine(filePathFolderSaveInfo, "BanPlayerList.txt"); + internal static string banNameListFile = Path.Combine(filePathFolderSaveInfo, "BanNameList.txt"); + internal static string banWordListFile = Path.Combine(filePathFolderSaveInfo, "BanWordList.txt"); - public static string GetFilePath(string name) + internal static string GetFilePath(string name) { return Path.Combine(Main.GetDataPathToAmongUs(), $"{name}.json"); } - public static void SetUp() + internal static void SetUp() { if (!Directory.Exists(filePathFolder)) { @@ -122,7 +122,7 @@ class BetterDataManager } } - public static void Save(string name, string dataToSave, string category = "Data") + internal static void Save(string name, string dataToSave, string category = "Data") { string filePath = GetFilePath("BetterData"); @@ -140,7 +140,7 @@ class BetterDataManager File.WriteAllText(filePath, json); } - public static string Load(string name, string category = "Data") + internal static string Load(string name, string category = "Data") { try { @@ -162,7 +162,7 @@ class BetterDataManager return string.Empty; } - public static void SaveSetting(int id, string input) + internal static void SaveSetting(int id, string input) { string filePath = SettingsFile; @@ -174,7 +174,7 @@ class BetterDataManager File.WriteAllText(filePath, json); } - public static bool CanLoadSetting(int id) + internal static bool CanLoadSetting(int id) { string filePath = SettingsFile; string json = File.ReadAllText(filePath); @@ -191,7 +191,7 @@ class BetterDataManager return false; } - public static bool LoadBoolSetting(int id, bool Default = false) + internal static bool LoadBoolSetting(int id, bool Default = false) { string filePath = SettingsFile; string json = File.ReadAllText(filePath); @@ -212,7 +212,7 @@ class BetterDataManager return Default; } - public static float LoadFloatSetting(int id, float Default = 0f) + internal static float LoadFloatSetting(int id, float Default = 0f) { string filePath = SettingsFile; string json = File.ReadAllText(filePath); @@ -233,7 +233,7 @@ class BetterDataManager return Default; } - public static int LoadIntSetting(int id, int Default = 0) + internal static int LoadIntSetting(int id, int Default = 0) { string filePath = SettingsFile; string json = File.ReadAllText(filePath); @@ -254,7 +254,7 @@ class BetterDataManager return Default; } - public static void SaveBanList(string friendCode = "", string hashPUID = "") + internal static void SaveBanList(string friendCode = "", string hashPUID = "") { if (!string.IsNullOrEmpty(friendCode) || !string.IsNullOrEmpty(hashPUID)) { @@ -284,7 +284,7 @@ class BetterDataManager } } - public static void SaveCheatData(string puid, string friendCode, string name, string category = "cheatData", string reason = "None") + internal static void SaveCheatData(string puid, string friendCode, string name, string category = "cheatData", string reason = "None") { string filePath = GetFilePath("BetterData"); @@ -309,7 +309,7 @@ class BetterDataManager File.WriteAllText(filePath, json); } - public static bool RemovePlayer(string identifier) + internal static bool RemovePlayer(string identifier) { bool successful = false; string filePath = GetFilePath("BetterData"); @@ -417,7 +417,7 @@ class BetterDataManager } } - public static void ClearCheatData() + internal static void ClearCheatData() { string filePath = GetFilePath("BetterData"); string json = File.ReadAllText(filePath); @@ -460,12 +460,12 @@ class BetterDataManager Logger.LogCheat("Cleared cheat memory and data"); } - public static void LoadData() + internal static void LoadData() { LoadCheatData(); } - public static void LoadCheatData() + internal static void LoadCheatData() { try { diff --git a/Managers/BetterNotificationManager.cs b/Managers/BetterNotificationManager.cs index 2bcbd7e..10c4be2 100644 --- a/Managers/BetterNotificationManager.cs +++ b/Managers/BetterNotificationManager.cs @@ -10,15 +10,15 @@ namespace BetterAmongUs.Managers; class BetterNotificationManager { - public static GameObject? BAUNotificationManagerObj; - public static TextMeshPro? NameText; - public static TextMeshPro? TextArea => BAUNotificationManagerObj.transform.Find("Sizer/ChatText (TMP)").GetComponent(); - public static Dictionary NotifyQueue = []; - public static float showTime = 0f; + internal static GameObject? BAUNotificationManagerObj; + internal static TextMeshPro? NameText; + internal static TextMeshPro? TextArea => BAUNotificationManagerObj.transform.Find("Sizer/ChatText (TMP)").GetComponent(); + internal static Dictionary NotifyQueue = []; + internal static float showTime = 0f; private static Camera? localCamera; - public static bool Notifying = false; + internal static bool Notifying = false; - public static void Notify(string text, float Time = 5f) + internal static void Notify(string text, float Time = 5f) { if (!Main.BetterNotifications.Value) return; @@ -41,7 +41,7 @@ class BetterNotificationManager } } - public static void NotifyCheat(PlayerControl player, string reason, string newText = "", bool kickPlayer = true, bool forceBan = false) + internal static void NotifyCheat(PlayerControl player, string reason, string newText = "", bool kickPlayer = true, bool forceBan = false) { if (player?.Data == null) return; @@ -86,7 +86,7 @@ class BetterNotificationManager } - public static void Update() + internal static void Update() { if (BAUNotificationManagerObj != null) { diff --git a/Modules/AntiCheat/BAUAntiCheat.cs b/Modules/AntiCheat/BAUAntiCheat.cs index e299730..174db93 100644 --- a/Modules/AntiCheat/BAUAntiCheat.cs +++ b/Modules/AntiCheat/BAUAntiCheat.cs @@ -10,13 +10,13 @@ namespace BetterAmongUs.Modules.AntiCheat; class BAUAntiCheat { - public static Dictionary PlayerData = []; // HashPuid, FriendCode - public static Dictionary SickoData = []; // HashPuid, FriendCode - public static Dictionary AUMData = []; // HashPuid, FriendCode - public static Dictionary KNData = []; // HashPuid, FriendCode - public static bool IsEnabled => PlayerControl.LocalPlayer?.Data?.IsIncomplete == false; + internal static Dictionary PlayerData = []; // HashPuid, FriendCode + internal static Dictionary SickoData = []; // HashPuid, FriendCode + internal static Dictionary AUMData = []; // HashPuid, FriendCode + internal static Dictionary KNData = []; // HashPuid, FriendCode + internal static bool IsEnabled => PlayerControl.LocalPlayer?.Data?.IsIncomplete == false; - public static string[] GatherAllData() + internal static string[] GatherAllData() { return PlayerData.Keys .Concat(PlayerData.Values) @@ -30,7 +30,7 @@ class BAUAntiCheat .ToArray(); } - public static void Update() + internal static void Update() { if (GameState.IsHost && GameState.IsInGame) { @@ -71,7 +71,7 @@ class BAUAntiCheat { [HarmonyPatch(nameof(PlatformSpecificData.Deserialize))] [HarmonyPostfix] - public static void Deserialize_Postfix(PlatformSpecificData __instance) + internal static void Deserialize_Postfix(PlatformSpecificData __instance) { if (!Main.AntiCheat.Value || !GameState.IsVanillaServer) return; @@ -128,7 +128,7 @@ class BAUAntiCheat } // Handle RPC before anti cheat detection - public static void HandleCheatRPCBeforeCheck(PlayerControl player, byte callId, MessageReader oldReader) + internal static void HandleCheatRPCBeforeCheck(PlayerControl player, byte callId, MessageReader oldReader) { MessageReader reader = MessageReader.Get(oldReader); @@ -138,7 +138,7 @@ class BAUAntiCheat } // Check and notify for invalid rpcs - public static void CheckRPC(PlayerControl player, byte callId, MessageReader oldReader) + internal static void CheckRPC(PlayerControl player, byte callId, MessageReader oldReader) { MessageReader reader = MessageReader.Get(oldReader); @@ -149,7 +149,7 @@ class BAUAntiCheat } // Check notify and cancel out request for invalid rpcs - public static bool CheckCancelRPC(PlayerControl player, byte callId, MessageReader oldReader) + internal static bool CheckCancelRPC(PlayerControl player, byte callId, MessageReader oldReader) { try { @@ -243,7 +243,7 @@ class BAUAntiCheat } // Check game states when sabotaging - public static bool RpcUpdateSystemCheck(PlayerControl player, SystemTypes systemType, MessageReader oldReader) + internal static bool RpcUpdateSystemCheck(PlayerControl player, SystemTypes systemType, MessageReader oldReader) { MessageReader reader = MessageReader.Get(oldReader); diff --git a/Modules/AntiCheat/RPCHandler.cs b/Modules/AntiCheat/RPCHandler.cs index 8a4075d..9d8c738 100644 --- a/Modules/AntiCheat/RPCHandler.cs +++ b/Modules/AntiCheat/RPCHandler.cs @@ -7,7 +7,7 @@ using UnityEngine; namespace BetterAmongUs.Modules.AntiCheat; -public enum HandlerFlag +internal enum HandlerFlag { Handle, AntiCheatCheck, @@ -17,33 +17,33 @@ public enum HandlerFlag HandleGameDataTag } -public abstract class RPCHandler +internal abstract class RPCHandler { - public static readonly RPCHandler?[] allHandlers = [.. RegisterRPCHandlerAttribute.Instances]; + internal static readonly RPCHandler?[] allHandlers = [.. RegisterRPCHandlerAttribute.Instances]; - public static RPCHandler?[] GetAllHandlerInstances() => Assembly.GetExecutingAssembly() + internal static RPCHandler?[] GetAllHandlerInstances() => Assembly.GetExecutingAssembly() .GetTypes() .Where(t => t.IsSubclassOf(typeof(RPCHandler)) && !t.IsAbstract) .Select(t => (RPCHandler?)Activator.CreateInstance(t)) .ToArray(); - public InnerNetClient innerNetClient => DestroyableSingleton.Instance; - public virtual byte CallId => byte.MaxValue; - public virtual byte GameDataTag => byte.MaxValue; - public virtual bool LocalHandling { get; set; } + internal InnerNetClient innerNetClient => DestroyableSingleton.Instance; + internal virtual byte CallId => byte.MaxValue; + internal virtual byte GameDataTag => byte.MaxValue; + internal virtual bool LocalHandling { get; set; } protected static bool CancelAsHost => !(GameState.IsHost); - public static bool CheckRange(Vector2 pos1, Vector2 pos2, float range) => Vector2.Distance(pos1, pos2) <= range; - public virtual void Handle(PlayerControl? sender, MessageReader reader) { } - public virtual void HandleGameData(MessageReader reader) { } - public virtual void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { } - public virtual bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) => true; - public virtual void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { } - public virtual bool BetterHandle(PlayerControl? sender, MessageReader reader) => true; + internal static bool CheckRange(Vector2 pos1, Vector2 pos2, float range) => Vector2.Distance(pos1, pos2) <= range; + internal virtual void Handle(PlayerControl? sender, MessageReader reader) { } + internal virtual void HandleGameData(MessageReader reader) { } + internal virtual void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { } + internal virtual bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) => true; + internal virtual void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { } + internal virtual bool BetterHandle(PlayerControl? sender, MessageReader reader) => true; protected static PlayerControl? catchedSender; protected static HandlerFlag catchedHandlerFlag = HandlerFlag.Handle; - public static bool HandleRPC(byte calledId, PlayerControl? sender, MessageReader reader, HandlerFlag handlerFlag) + internal static bool HandleRPC(byte calledId, PlayerControl? sender, MessageReader reader, HandlerFlag handlerFlag) { catchedSender = sender; catchedHandlerFlag = handlerFlag; @@ -83,20 +83,20 @@ public abstract class RPCHandler return !(cancel); } - public void LogRpcInfo(string info, PlayerControl? player = null) + internal void LogRpcInfo(string info, PlayerControl? player = null) { string Name = Enum.GetName((RpcCalls)CallId) ?? Enum.GetName((CustomRPC)CallId) ?? $"Unregistered({CallId})"; Name = $"[{Enum.GetName(catchedHandlerFlag)}] > " + Name; Logger.LogCheat($"{catchedSender?.BetterData()?.RealName ?? player.BetterData()?.RealName ?? string.Empty} {Name}: {info}"); } - public string GetFormatActionText() + internal string GetFormatActionText() { string Name = Enum.GetName((RpcCalls)CallId) ?? Enum.GetName((CustomRPC)CallId) ?? $"Unregistered({CallId})"; return string.Format(Translator.GetString("AntiCheat.InvalidActionRPC"), Name); } - public string GetFormatSetText() + internal string GetFormatSetText() { string Name = Enum.GetName((RpcCalls)CallId) ?? Enum.GetName((CustomRPC)CallId) ?? $"Unregistered({CallId})"; return string.Format(Translator.GetString("AntiCheat.InvalidSetRPC"), Name); diff --git a/Modules/AntiCheat/RPCHandlers/AUMChatHandler.cs b/Modules/AntiCheat/RPCHandlers/AUMChatHandler.cs index 10e1757..9000a47 100644 --- a/Modules/AntiCheat/RPCHandlers/AUMChatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/AUMChatHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class AUMChatHandler : RPCHandler +internal sealed class AUMChatHandler : RPCHandler { - public override byte CallId => unchecked((byte)CustomRPC.AUMChat); + internal override byte CallId => unchecked((byte)CustomRPC.AUMChat); - public override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { var nameString = reader.ReadString(); var msgString = reader.ReadString(); diff --git a/Modules/AntiCheat/RPCHandlers/AUMHandler.cs b/Modules/AntiCheat/RPCHandlers/AUMHandler.cs index 3e911d0..9777897 100644 --- a/Modules/AntiCheat/RPCHandlers/AUMHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/AUMHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class AUMHandler : RPCHandler +internal sealed class AUMHandler : RPCHandler { - public override byte CallId => unchecked((byte)CustomRPC.AUM); + internal override byte CallId => unchecked((byte)CustomRPC.AUM); - public override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { if (Main.AntiCheat.Value && BetterGameSettings.DetectCheatClients.GetBool()) { diff --git a/Modules/AntiCheat/RPCHandlers/AddVoteHandler.cs b/Modules/AntiCheat/RPCHandlers/AddVoteHandler.cs index f708cf1..5a9c7e0 100644 --- a/Modules/AntiCheat/RPCHandlers/AddVoteHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/AddVoteHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class AddVoteHandler : RPCHandler +internal sealed class AddVoteHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.AddVote; + internal override byte CallId => (byte)RpcCalls.AddVote; } diff --git a/Modules/AntiCheat/RPCHandlers/BootFromVentHandler.cs b/Modules/AntiCheat/RPCHandlers/BootFromVentHandler.cs index 46a7b77..60b626d 100644 --- a/Modules/AntiCheat/RPCHandlers/BootFromVentHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/BootFromVentHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class BootFromVentHandler : RPCHandler +internal sealed class BootFromVentHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.BootFromVent; + internal override byte CallId => (byte)RpcCalls.BootFromVent; } diff --git a/Modules/AntiCheat/RPCHandlers/CancelPetHandler.cs b/Modules/AntiCheat/RPCHandlers/CancelPetHandler.cs index 1e4be04..da81997 100644 --- a/Modules/AntiCheat/RPCHandlers/CancelPetHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CancelPetHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CancelPetHandler : RPCHandler +internal sealed class CancelPetHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CancelPet; + internal override byte CallId => (byte)RpcCalls.CancelPet; } diff --git a/Modules/AntiCheat/RPCHandlers/CastVoteHandler.cs b/Modules/AntiCheat/RPCHandlers/CastVoteHandler.cs index 6d1d18f..fb5b567 100644 --- a/Modules/AntiCheat/RPCHandlers/CastVoteHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CastVoteHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CastVoteHandler : RPCHandler +internal sealed class CastVoteHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CastVote; + internal override byte CallId => (byte)RpcCalls.CastVote; } diff --git a/Modules/AntiCheat/RPCHandlers/CheckAppearHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckAppearHandler.cs index 3a461b9..03fb195 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckAppearHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckAppearHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckAppearHandler : RPCHandler +internal sealed class CheckAppearHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckAppear; + internal override byte CallId => (byte)RpcCalls.CheckAppear; - public override bool BetterHandle(PlayerControl? sender, MessageReader reader) + internal override bool BetterHandle(PlayerControl? sender, MessageReader reader) { bool flag = reader.ReadBoolean(); @@ -35,7 +35,7 @@ public sealed class CheckAppearHandler : RPCHandler return false; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckColorHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckColorHandler.cs index fd6125e..6a9bd14 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckColorHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckColorHandler.cs @@ -4,11 +4,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckColorHandler : RPCHandler +internal sealed class CheckColorHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckColor; + internal override byte CallId => (byte)RpcCalls.CheckColor; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckMurderHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckMurderHandler.cs index 4f9e7df..ae9433c 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckMurderHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckMurderHandler.cs @@ -6,11 +6,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckMurderHandler : RPCHandler +internal sealed class CheckMurderHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckMurder; + internal override byte CallId => (byte)RpcCalls.CheckMurder; - public override bool BetterHandle(PlayerControl? sender, MessageReader reader) + internal override bool BetterHandle(PlayerControl? sender, MessageReader reader) { PlayerControl target = reader.ReadNetObject(); @@ -41,7 +41,7 @@ public sealed class CheckMurderHandler : RPCHandler return false; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckNameHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckNameHandler.cs index d630923..5250018 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckNameHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckNameHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckNameHandler : RPCHandler +internal sealed class CheckNameHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckName; + internal override byte CallId => (byte)RpcCalls.CheckName; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) return false; diff --git a/Modules/AntiCheat/RPCHandlers/CheckProtectHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckProtectHandler.cs index c63840c..6bd81c4 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckProtectHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckProtectHandler.cs @@ -7,11 +7,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckProtectHandler : RPCHandler +internal sealed class CheckProtectHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckProtect; + internal override byte CallId => (byte)RpcCalls.CheckProtect; - public override bool BetterHandle(PlayerControl? sender, MessageReader reader) + internal override bool BetterHandle(PlayerControl? sender, MessageReader reader) { PlayerControl target = reader.ReadNetObject(); if (target != null) @@ -31,7 +31,7 @@ public sealed class CheckProtectHandler : RPCHandler return false; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckShapeshiftHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckShapeshiftHandler.cs index 7b23609..163d556 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckShapeshiftHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckShapeshiftHandler.cs @@ -7,11 +7,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckShapeshiftHandler : RPCHandler +internal sealed class CheckShapeshiftHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckShapeshift; + internal override byte CallId => (byte)RpcCalls.CheckShapeshift; - public override bool BetterHandle(PlayerControl? sender, MessageReader reader) + internal override bool BetterHandle(PlayerControl? sender, MessageReader reader) { PlayerControl target = reader.ReadNetObject(); bool flag = reader.ReadBoolean(); @@ -38,7 +38,7 @@ public sealed class CheckShapeshiftHandler : RPCHandler return false; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckSporeHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckSporeHandler.cs index c5fa2bb..43f36c3 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckSporeHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckSporeHandler.cs @@ -4,11 +4,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckSporeHandler : RPCHandler +internal sealed class CheckSporeHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckSpore; + internal override byte CallId => (byte)RpcCalls.CheckSpore; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckVanishHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckVanishHandler.cs index 78a4150..fe5beeb 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckVanishHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckVanishHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckVanishHandler : RPCHandler +internal sealed class CheckVanishHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckVanish; + internal override byte CallId => (byte)RpcCalls.CheckVanish; - public override bool BetterHandle(PlayerControl? player, MessageReader reader) + internal override bool BetterHandle(PlayerControl? player, MessageReader reader) { if (player.Is(RoleTypes.Phantom) && player.IsAlive() @@ -31,7 +31,7 @@ public sealed class CheckVanishHandler : RPCHandler return false; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/CheckZiplineHandler.cs b/Modules/AntiCheat/RPCHandlers/CheckZiplineHandler.cs index 1c2a4c0..68137c8 100644 --- a/Modules/AntiCheat/RPCHandlers/CheckZiplineHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CheckZiplineHandler.cs @@ -4,11 +4,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CheckZiplineHandler : RPCHandler +internal sealed class CheckZiplineHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CheckZipline; + internal override byte CallId => (byte)RpcCalls.CheckZipline; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsHost) { diff --git a/Modules/AntiCheat/RPCHandlers/ClearVoteHandler.cs b/Modules/AntiCheat/RPCHandlers/ClearVoteHandler.cs index 054653f..ad7199c 100644 --- a/Modules/AntiCheat/RPCHandlers/ClearVoteHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ClearVoteHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ClearVoteHandler : RPCHandler +internal sealed class ClearVoteHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ClearVote; + internal override byte CallId => (byte)RpcCalls.ClearVote; } diff --git a/Modules/AntiCheat/RPCHandlers/ClimbLadderHandler.cs b/Modules/AntiCheat/RPCHandlers/ClimbLadderHandler.cs index f8a0aa6..c484751 100644 --- a/Modules/AntiCheat/RPCHandlers/ClimbLadderHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ClimbLadderHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ClimbLadderHandler : RPCHandler +internal sealed class ClimbLadderHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ClimbLadder; + internal override byte CallId => (byte)RpcCalls.ClimbLadder; } diff --git a/Modules/AntiCheat/RPCHandlers/CloseDoorsOfTypeHandler.cs b/Modules/AntiCheat/RPCHandlers/CloseDoorsOfTypeHandler.cs index 6457f5b..82dc5d9 100644 --- a/Modules/AntiCheat/RPCHandlers/CloseDoorsOfTypeHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CloseDoorsOfTypeHandler.cs @@ -6,10 +6,10 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CloseDoorsOfTypeHandler : RPCHandler +internal sealed class CloseDoorsOfTypeHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CloseDoorsOfType; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override byte CallId => (byte)RpcCalls.CloseDoorsOfType; + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (!sender.IsImpostorTeam()) { diff --git a/Modules/AntiCheat/RPCHandlers/CloseMeetingHandler.cs b/Modules/AntiCheat/RPCHandlers/CloseMeetingHandler.cs index 87a10ae..cdd3d13 100644 --- a/Modules/AntiCheat/RPCHandlers/CloseMeetingHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CloseMeetingHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CloseMeetingHandler : RPCHandler +internal sealed class CloseMeetingHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CloseMeeting; + internal override byte CallId => (byte)RpcCalls.CloseMeeting; } diff --git a/Modules/AntiCheat/RPCHandlers/CompleteTaskHandler.cs b/Modules/AntiCheat/RPCHandlers/CompleteTaskHandler.cs index af772d4..2dc4b8b 100644 --- a/Modules/AntiCheat/RPCHandlers/CompleteTaskHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/CompleteTaskHandler.cs @@ -6,16 +6,16 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class CompleteTaskHandler : RPCHandler +internal sealed class CompleteTaskHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.CompleteTask; + internal override byte CallId => (byte)RpcCalls.CompleteTask; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override void Handle(PlayerControl? sender, MessageReader reader) { sender.DirtyName(); } - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { var taskId = reader.ReadPackedUInt32(); diff --git a/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs b/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs index 790d269..c43f4e5 100644 --- a/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs @@ -7,11 +7,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class EnterVentHandler : RPCHandler +internal sealed class EnterVentHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.EnterVent; + internal override byte CallId => (byte)RpcCalls.EnterVent; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (!sender.IsImpostorTeam() && !sender.Is(RoleTypes.Engineer)) { diff --git a/Modules/AntiCheat/RPCHandlers/ExiledHandler.cs b/Modules/AntiCheat/RPCHandlers/ExiledHandler.cs index 9d3f7bc..cd320f2 100644 --- a/Modules/AntiCheat/RPCHandlers/ExiledHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ExiledHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ExiledHandler : RPCHandler +internal sealed class ExiledHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.Exiled; + internal override byte CallId => (byte)RpcCalls.Exiled; } diff --git a/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs b/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs index 9b4d457..58aa490 100644 --- a/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs @@ -4,9 +4,9 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ExitVentHandler : RPCHandler +internal sealed class ExitVentHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ExitVent; + internal override byte CallId => (byte)RpcCalls.ExitVent; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) => RegisterRPCHandlerAttribute.GetClassInstance().HandleAntiCheat(sender, reader); + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) => RegisterRPCHandlerAttribute.GetClassInstance().HandleAntiCheat(sender, reader); } diff --git a/Modules/AntiCheat/RPCHandlers/ExtendLobbyTimerHandler.cs b/Modules/AntiCheat/RPCHandlers/ExtendLobbyTimerHandler.cs index 2ff0253..3f4d995 100644 --- a/Modules/AntiCheat/RPCHandlers/ExtendLobbyTimerHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ExtendLobbyTimerHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ExtendLobbyTimerHandler : RPCHandler +internal sealed class ExtendLobbyTimerHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ExtendLobbyTimer; + internal override byte CallId => (byte)RpcCalls.ExtendLobbyTimer; } diff --git a/Modules/AntiCheat/RPCHandlers/KillNetworkChatHandler.cs b/Modules/AntiCheat/RPCHandlers/KillNetworkChatHandler.cs index 0a13aae..2fe0e8b 100644 --- a/Modules/AntiCheat/RPCHandlers/KillNetworkChatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/KillNetworkChatHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class KillNetworkChatHandler : RPCHandler +internal sealed class KillNetworkChatHandler : RPCHandler { - public override byte CallId => unchecked((byte)CustomRPC.KillNetworkChat); + internal override byte CallId => unchecked((byte)CustomRPC.KillNetworkChat); - public override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { if (!Main.AntiCheat.Value || !BetterGameSettings.DetectCheatClients.GetBool()) return; diff --git a/Modules/AntiCheat/RPCHandlers/KillNetworkHandler.cs b/Modules/AntiCheat/RPCHandlers/KillNetworkHandler.cs index 20aaa70..e594ce4 100644 --- a/Modules/AntiCheat/RPCHandlers/KillNetworkHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/KillNetworkHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class KillNetworkHandler : RPCHandler +internal sealed class KillNetworkHandler : RPCHandler { - public override byte CallId => unchecked((byte)CustomRPC.KillNetwork); + internal override byte CallId => unchecked((byte)CustomRPC.KillNetwork); - public override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { if (Main.AntiCheat.Value && BetterGameSettings.DetectCheatClients.GetBool()) { diff --git a/Modules/AntiCheat/RPCHandlers/LobbyTimeExpiringHandler.cs b/Modules/AntiCheat/RPCHandlers/LobbyTimeExpiringHandler.cs index 2f447e7..a6fb9d4 100644 --- a/Modules/AntiCheat/RPCHandlers/LobbyTimeExpiringHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/LobbyTimeExpiringHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class LobbyTimeExpiringHandler : RPCHandler +internal sealed class LobbyTimeExpiringHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.LobbyTimeExpiring; + internal override byte CallId => (byte)RpcCalls.LobbyTimeExpiring; } diff --git a/Modules/AntiCheat/RPCHandlers/MurderPlayerHandler.cs b/Modules/AntiCheat/RPCHandlers/MurderPlayerHandler.cs index 37ad4e8..3e9c6bd 100644 --- a/Modules/AntiCheat/RPCHandlers/MurderPlayerHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/MurderPlayerHandler.cs @@ -8,17 +8,17 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class MurderPlayerHandler : RPCHandler +internal sealed class MurderPlayerHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.MurderPlayer; + internal override byte CallId => (byte)RpcCalls.MurderPlayer; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override void Handle(PlayerControl? sender, MessageReader reader) { Utils.DirtyAllNames(); } // Prevent ban exploit - public override bool HandleAntiCheatCancel(PlayerControl? player, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? player, MessageReader reader) { PlayerControl target = reader.ReadNetObject(); @@ -46,7 +46,7 @@ public sealed class MurderPlayerHandler : RPCHandler return true; } - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { PlayerControl target = reader.ReadNetObject(); diff --git a/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DeserializeNetObjectHandler.cs b/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DeserializeNetObjectHandler.cs index d846ca4..759cae3 100644 --- a/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DeserializeNetObjectHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DeserializeNetObjectHandler.cs @@ -4,11 +4,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; -public class DeserializeNetObjectHandler : RPCHandler +internal class DeserializeNetObjectHandler : RPCHandler { - public override byte GameDataTag => (byte)HandleGameDataTags.NetObjectDeserialize; + internal override byte GameDataTag => (byte)HandleGameDataTags.NetObjectDeserialize; - public override void HandleGameData(MessageReader reader) + internal override void HandleGameData(MessageReader reader) { uint netId = reader.ReadPackedUInt32(); var innerNetObject = innerNetClient.FindObjectByNetId(netId); diff --git a/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DespawnNetObjectHandler.cs b/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DespawnNetObjectHandler.cs index 46faedc..cf10f12 100644 --- a/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DespawnNetObjectHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/NetObjectHandlers/DespawnNetObjectHandler.cs @@ -4,11 +4,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; -public class DespawnNetObjectHandler : RPCHandler +internal class DespawnNetObjectHandler : RPCHandler { - public override byte GameDataTag => (byte)HandleGameDataTags.NetObjectDespawn; + internal override byte GameDataTag => (byte)HandleGameDataTags.NetObjectDespawn; - public override void HandleGameData(MessageReader reader) + internal override void HandleGameData(MessageReader reader) { // if (!GameState.IsHost) return; diff --git a/Modules/AntiCheat/RPCHandlers/PetHandler.cs b/Modules/AntiCheat/RPCHandlers/PetHandler.cs index 849a976..5c71daa 100644 --- a/Modules/AntiCheat/RPCHandlers/PetHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/PetHandler.cs @@ -5,10 +5,10 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class PetHandler : RPCHandler +internal sealed class PetHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.Pet; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override byte CallId => (byte)RpcCalls.Pet; + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (sender?.CurrentOutfit?.PetId == "pet_EmptyPet") { diff --git a/Modules/AntiCheat/RPCHandlers/PlayAnimationHandler.cs b/Modules/AntiCheat/RPCHandlers/PlayAnimationHandler.cs index 5e57522..eaf700a 100644 --- a/Modules/AntiCheat/RPCHandlers/PlayAnimationHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/PlayAnimationHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class PlayAnimationHandler : RPCHandler +internal sealed class PlayAnimationHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.PlayAnimation; + internal override byte CallId => (byte)RpcCalls.PlayAnimation; } diff --git a/Modules/AntiCheat/RPCHandlers/ProtectPlayerHandler.cs b/Modules/AntiCheat/RPCHandlers/ProtectPlayerHandler.cs index f230678..34d21a6 100644 --- a/Modules/AntiCheat/RPCHandlers/ProtectPlayerHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ProtectPlayerHandler.cs @@ -7,11 +7,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ProtectPlayerHandler : RPCHandler +internal sealed class ProtectPlayerHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ProtectPlayer; + internal override byte CallId => (byte)RpcCalls.ProtectPlayer; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (!sender.Is(RoleTypes.GuardianAngel)) { diff --git a/Modules/AntiCheat/RPCHandlers/RejectShapeshiftHandler.cs b/Modules/AntiCheat/RPCHandlers/RejectShapeshiftHandler.cs index d4e5113..2763efc 100644 --- a/Modules/AntiCheat/RPCHandlers/RejectShapeshiftHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/RejectShapeshiftHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class RejectShapeshiftHandler : RPCHandler +internal sealed class RejectShapeshiftHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.RejectShapeshift; + internal override byte CallId => (byte)RpcCalls.RejectShapeshift; } diff --git a/Modules/AntiCheat/RPCHandlers/ReportDeadBodyHandler.cs b/Modules/AntiCheat/RPCHandlers/ReportDeadBodyHandler.cs index 96428d8..db07177 100644 --- a/Modules/AntiCheat/RPCHandlers/ReportDeadBodyHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ReportDeadBodyHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ReportDeadBodyHandler : RPCHandler +internal sealed class ReportDeadBodyHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.ReportDeadBody; + internal override byte CallId => (byte)RpcCalls.ReportDeadBody; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (!GameState.IsInGamePlay || !Main.AllPlayerControls.All(pc => pc.roleAssigned)) { diff --git a/Modules/AntiCheat/RPCHandlers/SendChatHandler.cs b/Modules/AntiCheat/RPCHandlers/SendChatHandler.cs index e35e460..17a3e6f 100644 --- a/Modules/AntiCheat/RPCHandlers/SendChatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SendChatHandler.cs @@ -8,11 +8,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SendChatHandler : RPCHandler +internal sealed class SendChatHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SendChat; + internal override byte CallId => (byte)RpcCalls.SendChat; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override void Handle(PlayerControl? sender, MessageReader reader) { var text = reader.ReadString(); @@ -48,7 +48,7 @@ public sealed class SendChatHandler : RPCHandler } } - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (sender.IsAlive() && GameState.IsInGamePlay && !GameState.IsMeeting && !GameState.IsExilling || DataManager.Settings.Multiplayer.ChatMode == InnerNet.QuickChatModes.QuickChatOnly) { diff --git a/Modules/AntiCheat/RPCHandlers/SendChatNoteHandler.cs b/Modules/AntiCheat/RPCHandlers/SendChatNoteHandler.cs index 80ae1a0..af7ec33 100644 --- a/Modules/AntiCheat/RPCHandlers/SendChatNoteHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SendChatNoteHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SendChatNoteHandler : RPCHandler +internal sealed class SendChatNoteHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SendChatNote; + internal override byte CallId => (byte)RpcCalls.SendChatNote; } diff --git a/Modules/AntiCheat/RPCHandlers/SendQuickChatHandler.cs b/Modules/AntiCheat/RPCHandlers/SendQuickChatHandler.cs index e9dd579..d4cd0f7 100644 --- a/Modules/AntiCheat/RPCHandlers/SendQuickChatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SendQuickChatHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SendQuickChatHandler : RPCHandler +internal sealed class SendQuickChatHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SendQuickChat; + internal override byte CallId => (byte)RpcCalls.SendQuickChat; - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { if (sender.IsAlive() && GameState.IsInGamePlay && !GameState.IsMeeting && !GameState.IsExilling || reader.BytesRemaining == 0) { diff --git a/Modules/AntiCheat/RPCHandlers/SetColorHandler.cs b/Modules/AntiCheat/RPCHandlers/SetColorHandler.cs index 47b3141..59a513c 100644 --- a/Modules/AntiCheat/RPCHandlers/SetColorHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetColorHandler.cs @@ -4,10 +4,10 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetColorHandler : RPCHandler +internal sealed class SetColorHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetColor; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override byte CallId => (byte)RpcCalls.SetColor; + internal override void Handle(PlayerControl? sender, MessageReader reader) { Logger.InGame("TEST"); } diff --git a/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs b/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs index d1d658f..9e967ae 100644 --- a/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetHatHandler : RPCHandler +internal sealed class SetHatHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetHat; + internal override byte CallId => (byte)RpcCalls.SetHat; } diff --git a/Modules/AntiCheat/RPCHandlers/SetHatStrHandler.cs b/Modules/AntiCheat/RPCHandlers/SetHatStrHandler.cs index ba41668..373a50c 100644 --- a/Modules/AntiCheat/RPCHandlers/SetHatStrHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetHatStrHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetHatStrHandler : RPCHandler +internal sealed class SetHatStrHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetHatStr; + internal override byte CallId => (byte)RpcCalls.SetHatStr; } diff --git a/Modules/AntiCheat/RPCHandlers/SetInfectedHandler.cs b/Modules/AntiCheat/RPCHandlers/SetInfectedHandler.cs index 752d5bc..134dc74 100644 --- a/Modules/AntiCheat/RPCHandlers/SetInfectedHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetInfectedHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetInfectedHandler : RPCHandler +internal sealed class SetInfectedHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetInfected; + internal override byte CallId => (byte)RpcCalls.SetInfected; } diff --git a/Modules/AntiCheat/RPCHandlers/SetLevelHandler.cs b/Modules/AntiCheat/RPCHandlers/SetLevelHandler.cs index 88f09d9..ea8b372 100644 --- a/Modules/AntiCheat/RPCHandlers/SetLevelHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetLevelHandler.cs @@ -7,11 +7,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetLevelHandler : RPCHandler +internal sealed class SetLevelHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetLevel; + internal override byte CallId => (byte)RpcCalls.SetLevel; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (sender.DataIsCollected() == true && sender.BetterData().AntiCheatInfo.HasSetLevel && !GameState.IsLocalGame && GameState.IsVanillaServer) { @@ -26,7 +26,7 @@ public sealed class SetLevelHandler : RPCHandler return true; } - public override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheat(PlayerControl? sender, MessageReader reader) { uint level = reader.ReadPackedUInt32(); diff --git a/Modules/AntiCheat/RPCHandlers/SetNameHandler.cs b/Modules/AntiCheat/RPCHandlers/SetNameHandler.cs index 00f1dac..eec6485 100644 --- a/Modules/AntiCheat/RPCHandlers/SetNameHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetNameHandler.cs @@ -6,16 +6,16 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetNameHandler : RPCHandler +internal sealed class SetNameHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetName; + internal override byte CallId => (byte)RpcCalls.SetName; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override void Handle(PlayerControl? sender, MessageReader reader) { Utils.DirtyAllNames(); } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (GameState.IsHost) return false; diff --git a/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs b/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs index 8efe3ed..9dac073 100644 --- a/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetNamePlateHandler : RPCHandler +internal sealed class SetNamePlateHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetNamePlate; + internal override byte CallId => (byte)RpcCalls.SetNamePlate; } diff --git a/Modules/AntiCheat/RPCHandlers/SetNamePlateStrHandler.cs b/Modules/AntiCheat/RPCHandlers/SetNamePlateStrHandler.cs index 0d97545..988c929 100644 --- a/Modules/AntiCheat/RPCHandlers/SetNamePlateStrHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetNamePlateStrHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetNamePlateStrHandler : RPCHandler +internal sealed class SetNamePlateStrHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetNamePlateStr; + internal override byte CallId => (byte)RpcCalls.SetNamePlateStr; } diff --git a/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs b/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs index 89b116b..ad1c416 100644 --- a/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetPetHandler : RPCHandler +internal sealed class SetPetHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetPet; + internal override byte CallId => (byte)RpcCalls.SetPet; } diff --git a/Modules/AntiCheat/RPCHandlers/SetPetStrHandler.cs b/Modules/AntiCheat/RPCHandlers/SetPetStrHandler.cs index 75f40cb..f1e098d 100644 --- a/Modules/AntiCheat/RPCHandlers/SetPetStrHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetPetStrHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetPetStrHandler : RPCHandler +internal sealed class SetPetStrHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetPetStr; + internal override byte CallId => (byte)RpcCalls.SetPetStr; } diff --git a/Modules/AntiCheat/RPCHandlers/SetRoleHandler.cs b/Modules/AntiCheat/RPCHandlers/SetRoleHandler.cs index 3b03b8a..1e233dd 100644 --- a/Modules/AntiCheat/RPCHandlers/SetRoleHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetRoleHandler.cs @@ -5,11 +5,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetRoleHandler : RPCHandler +internal sealed class SetRoleHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetRole; + internal override byte CallId => (byte)RpcCalls.SetRole; - public override void Handle(PlayerControl? sender, MessageReader reader) + internal override void Handle(PlayerControl? sender, MessageReader reader) { sender.DirtyName(); } diff --git a/Modules/AntiCheat/RPCHandlers/SetScannerHandler.cs b/Modules/AntiCheat/RPCHandlers/SetScannerHandler.cs index 52a8473..0b6ce73 100644 --- a/Modules/AntiCheat/RPCHandlers/SetScannerHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetScannerHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetScannerHandler : RPCHandler +internal sealed class SetScannerHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetScanner; + internal override byte CallId => (byte)RpcCalls.SetScanner; } diff --git a/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs b/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs index 65ec587..1bc02e2 100644 --- a/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetSkinHandler : RPCHandler +internal sealed class SetSkinHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetSkin; + internal override byte CallId => (byte)RpcCalls.SetSkin; } diff --git a/Modules/AntiCheat/RPCHandlers/SetSkinStrHandler.cs b/Modules/AntiCheat/RPCHandlers/SetSkinStrHandler.cs index 2bf38ed..004cb82 100644 --- a/Modules/AntiCheat/RPCHandlers/SetSkinStrHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetSkinStrHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetSkinStrHandler : RPCHandler +internal sealed class SetSkinStrHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetSkinStr; + internal override byte CallId => (byte)RpcCalls.SetSkinStr; } diff --git a/Modules/AntiCheat/RPCHandlers/SetStartCounterHandler.cs b/Modules/AntiCheat/RPCHandlers/SetStartCounterHandler.cs index f4a0204..9acb410 100644 --- a/Modules/AntiCheat/RPCHandlers/SetStartCounterHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetStartCounterHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetStartCounterHandler : RPCHandler +internal sealed class SetStartCounterHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetStartCounter; + internal override byte CallId => (byte)RpcCalls.SetStartCounter; } diff --git a/Modules/AntiCheat/RPCHandlers/SetTasksHandler.cs b/Modules/AntiCheat/RPCHandlers/SetTasksHandler.cs index 9af177f..3a6c948 100644 --- a/Modules/AntiCheat/RPCHandlers/SetTasksHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetTasksHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetTasksHandler : RPCHandler +internal sealed class SetTasksHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetTasks; + internal override byte CallId => (byte)RpcCalls.SetTasks; } diff --git a/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs b/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs index 292945e..83dea15 100644 --- a/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetVisorHandler : RPCHandler +internal sealed class SetVisorHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetVisor; + internal override byte CallId => (byte)RpcCalls.SetVisor; } diff --git a/Modules/AntiCheat/RPCHandlers/SetVisorStrHandler.cs b/Modules/AntiCheat/RPCHandlers/SetVisorStrHandler.cs index 0e0c88c..98a8473 100644 --- a/Modules/AntiCheat/RPCHandlers/SetVisorStrHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetVisorStrHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SetVisorStrHandler : RPCHandler +internal sealed class SetVisorStrHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SetVisorStr; + internal override byte CallId => (byte)RpcCalls.SetVisorStr; } diff --git a/Modules/AntiCheat/RPCHandlers/ShapeshiftHandler.cs b/Modules/AntiCheat/RPCHandlers/ShapeshiftHandler.cs index eac6e0a..de394ae 100644 --- a/Modules/AntiCheat/RPCHandlers/ShapeshiftHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/ShapeshiftHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class ShapeshiftHandler : RPCHandler +internal sealed class ShapeshiftHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.Shapeshift; + internal override byte CallId => (byte)RpcCalls.Shapeshift; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { var target = reader.ReadNetObject(); var flag = reader.ReadBoolean(); diff --git a/Modules/AntiCheat/RPCHandlers/SickoHandler.cs b/Modules/AntiCheat/RPCHandlers/SickoHandler.cs index 6c3188f..5dbb182 100644 --- a/Modules/AntiCheat/RPCHandlers/SickoHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SickoHandler.cs @@ -8,11 +8,11 @@ using InnerNet; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SickoHandler : RPCHandler +internal sealed class SickoHandler : RPCHandler { - public override byte CallId => unchecked((byte)CustomRPC.Sicko); + internal override byte CallId => unchecked((byte)CustomRPC.Sicko); - public override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) + internal override void HandleAntiCheatCheck(PlayerControl? sender, MessageReader reader) { if (Main.AntiCheat.Value && BetterGameSettings.DetectCheatClients.GetBool()) { diff --git a/Modules/AntiCheat/RPCHandlers/SnapToHandler.cs b/Modules/AntiCheat/RPCHandlers/SnapToHandler.cs index 60d478b..e8ea11b 100644 --- a/Modules/AntiCheat/RPCHandlers/SnapToHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SnapToHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SnapToHandler : RPCHandler +internal sealed class SnapToHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SnapTo; + internal override byte CallId => (byte)RpcCalls.SnapTo; } diff --git a/Modules/AntiCheat/RPCHandlers/StartAppearHandler.cs b/Modules/AntiCheat/RPCHandlers/StartAppearHandler.cs index 6c4376a..f81ff33 100644 --- a/Modules/AntiCheat/RPCHandlers/StartAppearHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/StartAppearHandler.cs @@ -6,11 +6,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class StartAppearHandler : RPCHandler +internal sealed class StartAppearHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.StartAppear; + internal override byte CallId => (byte)RpcCalls.StartAppear; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { bool shouldAnimate = reader.ReadBoolean(); if (RegisterRPCHandlerAttribute.GetClassInstance().RoleCheck(sender) == false) diff --git a/Modules/AntiCheat/RPCHandlers/StartMeetingHandler.cs b/Modules/AntiCheat/RPCHandlers/StartMeetingHandler.cs index 28adf7b..0cae916 100644 --- a/Modules/AntiCheat/RPCHandlers/StartMeetingHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/StartMeetingHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class StartMeetingHandler : RPCHandler +internal sealed class StartMeetingHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.StartMeeting; + internal override byte CallId => (byte)RpcCalls.StartMeeting; } diff --git a/Modules/AntiCheat/RPCHandlers/StartVanishHandler.cs b/Modules/AntiCheat/RPCHandlers/StartVanishHandler.cs index c830b99..44d24d1 100644 --- a/Modules/AntiCheat/RPCHandlers/StartVanishHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/StartVanishHandler.cs @@ -7,11 +7,11 @@ using Hazel; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class StartVanishHandler : RPCHandler +internal sealed class StartVanishHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.StartVanish; + internal override byte CallId => (byte)RpcCalls.StartVanish; - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (RoleCheck(sender) == false) { @@ -27,7 +27,7 @@ public sealed class StartVanishHandler : RPCHandler return true; } - public bool RoleCheck(PlayerControl? sender) + internal bool RoleCheck(PlayerControl? sender) { if (!sender.Is(RoleTypes.Phantom) || !sender.IsAlive()) { diff --git a/Modules/AntiCheat/RPCHandlers/SyncSettingsHandler.cs b/Modules/AntiCheat/RPCHandlers/SyncSettingsHandler.cs index 30ff1de..e91b1b8 100644 --- a/Modules/AntiCheat/RPCHandlers/SyncSettingsHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SyncSettingsHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class SyncSettingsHandler : RPCHandler +internal sealed class SyncSettingsHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.SyncSettings; + internal override byte CallId => (byte)RpcCalls.SyncSettings; } diff --git a/Modules/AntiCheat/RPCHandlers/TriggerSporesHandler.cs b/Modules/AntiCheat/RPCHandlers/TriggerSporesHandler.cs index 40174bf..2db7988 100644 --- a/Modules/AntiCheat/RPCHandlers/TriggerSporesHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/TriggerSporesHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class TriggerSporesHandler : RPCHandler +internal sealed class TriggerSporesHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.TriggerSpores; + internal override byte CallId => (byte)RpcCalls.TriggerSpores; } diff --git a/Modules/AntiCheat/RPCHandlers/UpdateSystemHandler.cs b/Modules/AntiCheat/RPCHandlers/UpdateSystemHandler.cs index d1df952..45ae383 100644 --- a/Modules/AntiCheat/RPCHandlers/UpdateSystemHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/UpdateSystemHandler.cs @@ -6,17 +6,17 @@ using UnityEngine; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class UpdateSystemHandler : RPCHandler +internal sealed class UpdateSystemHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.UpdateSystem; + internal override byte CallId => (byte)RpcCalls.UpdateSystem; - public SystemTypes CatchedSystemType; + internal SystemTypes CatchedSystemType; private readonly Dictionary> systemHandlers; private static SabotageSystemType SabotageSystem => ShipStatus.Instance.Systems[SystemTypes.Sabotage].Cast(); - public UpdateSystemHandler() + internal UpdateSystemHandler() { systemHandlers = new Dictionary> { @@ -33,7 +33,7 @@ public sealed class UpdateSystemHandler : RPCHandler }; } - public static bool CheckConsoleDistance(PlayerControl? player, float distance = 2f) where T : PlayerTask, new() + internal static bool CheckConsoleDistance(PlayerControl? player, float distance = 2f) where T : PlayerTask, new() { bool isClose = false; Vector2[] consolesPos = new T().FindConsolesPos().ToArray(); @@ -49,7 +49,7 @@ public sealed class UpdateSystemHandler : RPCHandler return isClose; } - public override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) + internal override bool HandleAntiCheatCancel(PlayerControl? sender, MessageReader reader) { if (GameState.IsHost && sender.IsHost()) return true; diff --git a/Modules/AntiCheat/RPCHandlers/UsePlatformHandler.cs b/Modules/AntiCheat/RPCHandlers/UsePlatformHandler.cs index de6eb7b..27aef59 100644 --- a/Modules/AntiCheat/RPCHandlers/UsePlatformHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/UsePlatformHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class UsePlatformHandler : RPCHandler +internal sealed class UsePlatformHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.UsePlatform; + internal override byte CallId => (byte)RpcCalls.UsePlatform; } diff --git a/Modules/AntiCheat/RPCHandlers/UseZiplineHandler.cs b/Modules/AntiCheat/RPCHandlers/UseZiplineHandler.cs index 2d453f9..ceb8932 100644 --- a/Modules/AntiCheat/RPCHandlers/UseZiplineHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/UseZiplineHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class UseZiplineHandler : RPCHandler +internal sealed class UseZiplineHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.UseZipline; + internal override byte CallId => (byte)RpcCalls.UseZipline; } diff --git a/Modules/AntiCheat/RPCHandlers/VotingCompleteHandler.cs b/Modules/AntiCheat/RPCHandlers/VotingCompleteHandler.cs index 1b1683d..7431b45 100644 --- a/Modules/AntiCheat/RPCHandlers/VotingCompleteHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/VotingCompleteHandler.cs @@ -3,7 +3,7 @@ using BetterAmongUs.Items.Attributes; namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] -public sealed class VotingCompleteHandler : RPCHandler +internal sealed class VotingCompleteHandler : RPCHandler { - public override byte CallId => (byte)RpcCalls.VotingComplete; + internal override byte CallId => (byte)RpcCalls.VotingComplete; } diff --git a/Modules/ClientOptionItem.cs b/Modules/ClientOptionItem.cs index a5e0aa2..c1ddf08 100644 --- a/Modules/ClientOptionItem.cs +++ b/Modules/ClientOptionItem.cs @@ -4,15 +4,15 @@ using Object = UnityEngine.Object; namespace BetterAmongUs.Modules; -public class ClientOptionItem +internal class ClientOptionItem { - public ConfigEntry Config; - public ToggleButtonBehaviour ToggleButton; + internal ConfigEntry Config; + internal ToggleButtonBehaviour ToggleButton; - public static SpriteRenderer CustomBackground; + internal static SpriteRenderer CustomBackground; private static int numOptions = 0; - private ClientOptionItem( + public ClientOptionItem( string name, ConfigEntry config, OptionsMenuBehaviour optionsMenuBehaviour, @@ -129,7 +129,7 @@ public class ClientOptionItem finally { numOptions++; } } - public static ClientOptionItem Create( + internal static ClientOptionItem Create( string name, ConfigEntry config, OptionsMenuBehaviour optionsMenuBehaviour, @@ -142,7 +142,7 @@ public class ClientOptionItem return new ClientOptionItem(name, config, optionsMenuBehaviour, additionalOnClickAction, toggleCheck, IsToggle); } - public void UpdateToggle() + internal void UpdateToggle() { if (ToggleButton == null) return; diff --git a/Modules/DebugMenu.cs b/Modules/DebugMenu.cs deleted file mode 100644 index f3e5de1..0000000 --- a/Modules/DebugMenu.cs +++ /dev/null @@ -1,237 +0,0 @@ -using BetterAmongUs.Managers; -using BetterAmongUs.Resources; -using Il2CppInterop.Runtime.Attributes; -using UnityEngine; - -namespace BetterAmongUs.Modules; - -public class DebugMenu : MonoBehaviour -{ - public static bool RevealRoles = false; -#if DEBUG - - [HideFromIl2Cpp] - public DragWindow Window { get; } - public bool WindowEnabled { get; set; } = true; - - private List tabs = new List(); - private List tabActions = new List(); - private Dictionary> - tabContents - = new Dictionary>(); - - private string selectedTab = null; - - public void Start() - { - InitializeMenu(); - } - - private void InitializeMenu() - { - string Main = "Main"; - string HostOnly = "Host Only"; - string Misc = "Misc"; - AddTab(Main); - AddTab(HostOnly); - AddTab(Misc); - - AddButtonToTab(Main, "Reveal All Roles", () => - { - RevealRoles = !RevealRoles; - }); - - AddButtonToTab(Main, "Trigger Anti-Cheat", () => - { - if (GameState.IsInGame || GameState.IsLobby || GameState.IsFreePlay) - { - BetterNotificationManager.NotifyCheat(PlayerControl.LocalPlayer, "Debug Test", kickPlayer: false); - } - }, true); - - AddButtonToTab(Main, "Clear Anti-Cheat Data", () => - { - BetterDataManager.ClearCheatData(); - }); - - AddButtonToTab(Main, "Send Better RPC", () => - { - RPC.SendBetterCheck(); - }, true); - - // Automatically select the first tab - if (tabs.Count > 0) - { - selectedTab = tabs[0]; - } - - WindowEnabled = false; - } - - public void Update() - { - if (Input.GetKeyDown(KeyCode.F1)) - Toggle(); - - if (!GameState.IsInGamePlay) - RevealRoles = false; - } - - public DebugMenu(IntPtr ptr) : base(ptr) - { - Window = new DragWindow(new Rect(20, 20, 400, 300), "Debug Menu", () => - { - GUILayout.BeginVertical(); - try - { - GUIStyle headerStyle = new GUIStyle(GUI.skin.label) - { - fontSize = 18, - fontStyle = FontStyle.Bold, - alignment = TextAnchor.MiddleCenter, - normal = { textColor = Color.white } - }; - - GUILayout.Label("Debug Menu - Press F1 To Hide", headerStyle); - GUILayout.Space(10); - - if (tabs.Count > 0) - { - // Display tabs horizontally - GUILayout.BeginHorizontal(); - foreach (var tab in tabs) - { - // Highlight the selected tab with color change - GUI.backgroundColor = tab == selectedTab ? new Color(0.2f, 0.2f, 0.2f) : GUI.backgroundColor; - if (GUILayout.Button(tab)) - { - selectedTab = tab; - } - // Reset the background color after drawing the button - GUI.backgroundColor = Color.white; - } - GUILayout.EndHorizontal(); - - // Display content of selected tab - if (!string.IsNullOrEmpty(selectedTab) && tabContents.ContainsKey(selectedTab)) - { - var contents = tabContents[selectedTab]; - - // Display contents for selected tab - GUILayout.BeginVertical(); - int buttonCount = 0; - bool isNewRowStarted = false; - - foreach (var (isText, content, action, startNewRow, centerText, colorHex) in contents) - { - if (isText) - { - if (isNewRowStarted) - { - GUILayout.EndHorizontal(); - isNewRowStarted = false; - } - GUIStyle style = new GUIStyle(GUI.skin.label); - - // Set text color if specified - if (!string.IsNullOrEmpty(colorHex) && ColorUtility.TryParseHtmlString(colorHex, out Color color)) - { - style.normal.textColor = color; - } - - if (centerText) - { - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - GUILayout.Label(content, style); - GUILayout.FlexibleSpace(); - GUILayout.EndHorizontal(); - } - else - { - GUILayout.Label(content, style); - } - buttonCount = 0; // Reset button count after text - } - else - { - if (startNewRow || buttonCount % 3 == 0) - { - if (isNewRowStarted) - { - GUILayout.EndHorizontal(); // End previous row if any - } - GUILayout.BeginHorizontal(); // Start a new row - isNewRowStarted = true; - } - - if (GUILayout.Button(content)) - { - action?.Invoke(); - } - - buttonCount++; - } - } - - // End the last row if not empty - if (isNewRowStarted) - { - GUILayout.EndHorizontal(); - } - - GUILayout.EndVertical(); - } - } - } - finally - { - GUILayout.EndVertical(); - } - }); - } - - - public void AddTab(string tabName) - { - tabs.Add(tabName); - tabActions.Add(() => { /* Default action, can be replaced later */ }); - tabContents[tabName] = new List<(bool isText, string content, Action action, bool startNewRow, bool centerText, string colorHex)>(); - AddNewRowToTab(tabName); - } - - public void AddButtonToTab(string tabName, string buttonLabel, Action action, bool startNewRow = false) - { - if (tabContents.ContainsKey(tabName)) - { - tabContents[tabName].Add((false, buttonLabel, action, startNewRow, false, null)); - } - } - - public void AddTextToTab(string tabName, string text, bool centerText = false, string colorHex = null) - { - if (tabContents.ContainsKey(tabName)) - { - tabContents[tabName].Add((true, text, null, false, centerText, colorHex)); - } - } - - public void AddNewRowToTab(string tabName) - { - AddTextToTab(tabName, ""); // Adding an empty text item to create a new row - } - - public void OnGUI() - { - if (WindowEnabled) - Window.OnGUI(); - } - - public void Toggle() - { - if (!GameState.IsDev || Main.ReleaseBuildType != ReleaseTypes.Dev) return; - - WindowEnabled = !WindowEnabled; - } -#endif -} diff --git a/Modules/Encryptor.cs b/Modules/Encryptor.cs index 986095f..eee854d 100644 --- a/Modules/Encryptor.cs +++ b/Modules/Encryptor.cs @@ -8,7 +8,7 @@ class Encryptor private static readonly byte[] Key = Encoding.UTF8.GetBytes("0123456789ABCDEF0123456789ABCDEF"); private static readonly byte[] IV = Encoding.UTF8.GetBytes("ABCDEF0123456789"); - public static string Encrypt(string input) + internal static string Encrypt(string input) { using (Aes aes = Aes.Create()) { @@ -25,7 +25,7 @@ class Encryptor } } - public static string Decrypt(string input) + internal static string Decrypt(string input) { using Aes aes = Aes.Create(); aes.Key = Key; diff --git a/Modules/FileChecker.cs b/Modules/FileChecker.cs index 6949282..10888f9 100644 --- a/Modules/FileChecker.cs +++ b/Modules/FileChecker.cs @@ -8,9 +8,9 @@ class FileChecker private static bool enabled = false; private static FileSystemWatcher? fileWatcher; private static bool hasUnauthorizedFileOrMod = false; - public static string WarningMsg { get; private set; } = string.Empty; - public static bool HasShownWarning { get; set; } = false; - public static bool HasUnauthorizedFileOrMod => hasUnauthorizedFileOrMod && (!Main.MyData.IsDev() || !Main.MyData.IsVerified()); + internal static string WarningMsg { get; private set; } = string.Empty; + internal static bool HasShownWarning { get; set; } = false; + internal static bool HasUnauthorizedFileOrMod => hasUnauthorizedFileOrMod && (!Main.MyData.IsDev() || !Main.MyData.IsVerified()); private static readonly ReadOnlyCollection TrustedNamespaces = new(new List { @@ -43,7 +43,7 @@ class FileChecker "aum-prev-log.txt" ]; - public static void Initialize() + internal static void Initialize() { if (enabled) return; enabled = true; diff --git a/Modules/GameState.cs b/Modules/GameState.cs index 17b3dcc..4a4f6df 100644 --- a/Modules/GameState.cs +++ b/Modules/GameState.cs @@ -3,21 +3,21 @@ using BetterAmongUs.Helpers; namespace BetterAmongUs.Modules; -public static class GameState +internal static class GameState { /**********Check Game Status***********/ - public static bool IsDev => Main.MyData.IsDev(); - public static bool InGame => Main.AllPlayerControls.Any(); - public static bool IsNormalGame => GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.Normal or GameModes.NormalFools; - public static bool IsHideNSeek => GameOptionsManager.Instance != null && GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.HideNSeek or GameModes.SeekFools; - public static bool SkeldIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Skeld; - public static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Mira; - public static bool PolusIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Polus; - public static bool DleksIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Dleks; - public static bool AirshipIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Airship; - public static bool FungleIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Fungle; - public static byte GetActiveMapId => GameOptionsManager.Instance.CurrentGameOptions.MapId; - public static bool IsSystemActive(SystemTypes type) + internal static bool IsDev => Main.MyData.IsDev(); + internal static bool InGame => Main.AllPlayerControls.Any(); + internal static bool IsNormalGame => GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.Normal or GameModes.NormalFools; + internal static bool IsHideNSeek => GameOptionsManager.Instance != null && GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.HideNSeek or GameModes.SeekFools; + internal static bool SkeldIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Skeld; + internal static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Mira; + internal static bool PolusIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Polus; + internal static bool DleksIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Dleks; + internal static bool AirshipIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Airship; + internal static bool FungleIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Fungle; + internal static byte GetActiveMapId => GameOptionsManager.Instance.CurrentGameOptions.MapId; + internal static bool IsSystemActive(SystemTypes type) { if (IsHideNSeek || !ShipStatus.Instance.Systems.TryGetValue(type, out var system)) { @@ -39,7 +39,7 @@ public static class GameState _ => false }; } - public static bool IsCriticalSabotageActive() + internal static bool IsCriticalSabotageActive() { var deathSabotages = new[] { @@ -51,7 +51,7 @@ public static class GameState return deathSabotages.Any(IsSystemActive); } - public static bool IsNoneCriticalSabotageActive() + internal static bool IsNoneCriticalSabotageActive() { var noneDeathSabotages = new[] { @@ -62,7 +62,7 @@ public static class GameState return noneDeathSabotages.Any(IsSystemActive); } - public static bool IsAnySabotageActive() + internal static bool IsAnySabotageActive() { var allSabotages = new[] { @@ -77,14 +77,14 @@ public static class GameState return allSabotages.Any(IsSystemActive); } - public static bool IsInGame => InGame; - public static bool IsLobby => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.Joined; - public static bool IsInIntro => IntroCutscene.Instance != null; - public static bool IsInGamePlay => InGame && IsShip && !IsLobby && !IsInIntro || IsFreePlay; - public static bool IsEnded => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.Ended; - public static bool IsNotJoined => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.NotJoined; - public static bool IsOnlineGame => AmongUsClient.Instance?.NetworkMode == NetworkModes.OnlineGame; - public static bool IsVanillaServer + internal static bool IsInGame => InGame; + internal static bool IsLobby => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.Joined; + internal static bool IsInIntro => IntroCutscene.Instance != null; + internal static bool IsInGamePlay => InGame && IsShip && !IsLobby && !IsInIntro || IsFreePlay; + internal static bool IsEnded => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.Ended; + internal static bool IsNotJoined => AmongUsClient.Instance?.GameState == InnerNet.InnerNetClient.GameStates.NotJoined; + internal static bool IsOnlineGame => AmongUsClient.Instance?.NetworkMode == NetworkModes.OnlineGame; + internal static bool IsVanillaServer { get { @@ -94,18 +94,18 @@ public static class GameState return region == "North America" || region == "Europe" || region == "Asia"; } } - public static bool IsLocalGame => AmongUsClient.Instance?.NetworkMode == NetworkModes.LocalGame; - public static bool IsFreePlay => AmongUsClient.Instance?.NetworkMode == NetworkModes.FreePlay; - public static bool IsInTask => InGame && MeetingHud.Instance == null; - public static bool IsMeeting => InGame && MeetingHud.Instance != null; - public static bool IsVoting => IsMeeting && MeetingHud.Instance?.state is MeetingHud.VoteStates.Voted or MeetingHud.VoteStates.NotVoted; - public static bool IsProceeding => IsMeeting && MeetingHud.Instance?.state is MeetingHud.VoteStates.Proceeding; - public static bool IsExilling => ExileController.Instance != null && !(AirshipIsActive && Minigame.Instance != null && Minigame.Instance.isActiveAndEnabled); - public static bool IsCountDown => GameStartManager.InstanceExists && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown; - public static bool IsShip => ShipStatus.Instance != null; - public static bool IsHost => AmongUsClient.Instance != null && AmongUsClient.Instance.AmHost; - public static bool IsBetterHostLobby => PlayerControl.LocalPlayer.IsHost() || Main.AllPlayerControls.Any(pc => pc.IsHost() && pc.BetterData().IsBetterUser); - public static bool IsTOHEHostLobby => Main.AllPlayerControls.Any(pc => pc.IsHost() && pc.BetterData().IsTOHEHost); - public static bool IsCanMove => PlayerControl.LocalPlayer?.CanMove is true; - public static bool IsDead => PlayerControl.LocalPlayer?.Data?.IsDead is true; + internal static bool IsLocalGame => AmongUsClient.Instance?.NetworkMode == NetworkModes.LocalGame; + internal static bool IsFreePlay => AmongUsClient.Instance?.NetworkMode == NetworkModes.FreePlay; + internal static bool IsInTask => InGame && MeetingHud.Instance == null; + internal static bool IsMeeting => InGame && MeetingHud.Instance != null; + internal static bool IsVoting => IsMeeting && MeetingHud.Instance?.state is MeetingHud.VoteStates.Voted or MeetingHud.VoteStates.NotVoted; + internal static bool IsProceeding => IsMeeting && MeetingHud.Instance?.state is MeetingHud.VoteStates.Proceeding; + internal static bool IsExilling => ExileController.Instance != null && !(AirshipIsActive && Minigame.Instance != null && Minigame.Instance.isActiveAndEnabled); + internal static bool IsCountDown => GameStartManager.InstanceExists && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown; + internal static bool IsShip => ShipStatus.Instance != null; + internal static bool IsHost => AmongUsClient.Instance != null && AmongUsClient.Instance.AmHost; + internal static bool IsBetterHostLobby => PlayerControl.LocalPlayer.IsHost() || Main.AllPlayerControls.Any(pc => pc.IsHost() && pc.BetterData().IsBetterUser); + internal static bool IsTOHEHostLobby => Main.AllPlayerControls.Any(pc => pc.IsHost() && pc.BetterData().IsTOHEHost); + internal static bool IsCanMove => PlayerControl.LocalPlayer?.CanMove is true; + internal static bool IsDead => PlayerControl.LocalPlayer?.Data?.IsDead is true; } diff --git a/Modules/RPC.cs b/Modules/RPC.cs index 599753c..8aa9182 100644 --- a/Modules/RPC.cs +++ b/Modules/RPC.cs @@ -35,7 +35,7 @@ enum HandleGameDataTags : byte [HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.HandleRpc))] internal class PlayerControlRPCHandlerPatch { - public static bool Prefix(PlayerControl __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) + internal static bool Prefix(PlayerControl __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) { __instance.BetterData().AntiCheatInfo.RPCSentPS++; if (__instance.BetterData().AntiCheatInfo.RPCSentPS >= ExtendedAntiCheatInfo.MaxRPCSent) @@ -56,7 +56,7 @@ internal class PlayerControlRPCHandlerPatch return true; } - public static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) + internal static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) { RPC.HandleCustomRPC(__instance, callId, reader); } @@ -65,7 +65,7 @@ internal class PlayerControlRPCHandlerPatch [HarmonyPatch(typeof(PlayerPhysics), nameof(PlayerPhysics.HandleRpc))] internal class PlayerPhysicsRPCHandlerPatch { - public static bool Prefix(PlayerPhysics __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) + internal static bool Prefix(PlayerPhysics __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) { __instance.myPlayer.BetterData().AntiCheatInfo.RPCSentPS++; if (__instance.myPlayer.BetterData().AntiCheatInfo.RPCSentPS >= ExtendedAntiCheatInfo.MaxRPCSent) @@ -86,9 +86,9 @@ internal class PlayerPhysicsRPCHandlerPatch } [HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.UpdateSystem), typeof(SystemTypes), typeof(PlayerControl), typeof(MessageReader))] -public static class MessageReaderUpdateSystemPatch +internal static class MessageReaderUpdateSystemPatch { - public static bool Prefix(/*ShipStatus __instance,*/ [HarmonyArgument(0)] SystemTypes systemType, [HarmonyArgument(1)] PlayerControl player, [HarmonyArgument(2)] MessageReader reader) + internal static bool Prefix(/*ShipStatus __instance,*/ [HarmonyArgument(0)] SystemTypes systemType, [HarmonyArgument(1)] PlayerControl player, [HarmonyArgument(2)] MessageReader reader) { player.BetterData().AntiCheatInfo.RPCSentPS++; if (player.BetterData().AntiCheatInfo.RPCSentPS >= ExtendedAntiCheatInfo.MaxRPCSent) @@ -108,7 +108,7 @@ public static class MessageReaderUpdateSystemPatch internal static class RPC { - public static void RpcSyncSettings() + internal static void RpcSyncSettings() { if (!AmongUsClient.Instance.AmHost) { @@ -124,7 +124,7 @@ internal static class RPC } } - public static void SendBetterCheck() + internal static void SendBetterCheck() { MessageWriter messageWriter = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.BetterCheck, SendOption.None, -1); messageWriter.Write(true); @@ -133,7 +133,7 @@ internal static class RPC AmongUsClient.Instance.FinishRpcImmediately(messageWriter); } - public static void SetNamePrivate(PlayerControl player, string name, PlayerControl target) + internal static void SetNamePrivate(PlayerControl player, string name, PlayerControl target) { if (!GameState.IsHost || !GameState.IsVanillaServer) { @@ -146,14 +146,14 @@ internal static class RPC AmongUsClient.Instance.FinishRpcImmediately(writer); } - public static void ExileAsync(PlayerControl player) + internal static void ExileAsync(PlayerControl player) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(player.NetId, (byte)RpcCalls.Exiled, SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); player.Exiled(); } - public static void HandleCustomRPC(PlayerControl player, byte callId, MessageReader oldReader) + internal static void HandleCustomRPC(PlayerControl player, byte callId, MessageReader oldReader) { if (player == null || player.IsLocalPlayer() || player.Data == null || Enum.IsDefined(typeof(RpcCalls), callId)) return; @@ -220,7 +220,7 @@ internal static class RPC } } - public static void HandleRPC(PlayerControl player, byte callId, MessageReader oldReader) + internal static void HandleRPC(PlayerControl player, byte callId, MessageReader oldReader) { if (player == null || player.IsLocalPlayer() || player.Data == null) return; diff --git a/Modules/Translator.cs b/Modules/Translator.cs index 74323b8..9ab7928 100644 --- a/Modules/Translator.cs +++ b/Modules/Translator.cs @@ -6,17 +6,17 @@ using System.Text.RegularExpressions; namespace BetterAmongUs.Modules; -public static class Translator +internal static class Translator { - public static Dictionary> translateMaps; - public const string LANGUAGE_FOLDER_NAME = "Language"; - public static void Init() + internal static Dictionary> translateMaps; + internal const string LANGUAGE_FOLDER_NAME = "Language"; + internal static void Init() { Logger.Log("Loading language files...", "Translator"); LoadLangs(); Logger.Log("Language file loaded successfully", "Translator"); } - public static void LoadLangs() + internal static void LoadLangs() { try { @@ -101,7 +101,7 @@ public static class Translator return resourceNames.Where(resourceName => resourceName.StartsWith(directoryName) && resourceName.EndsWith(".json")).ToArray(); } - public static string GetString(string s, Dictionary replacementDic = null, bool console = false, bool showInvalid = true, bool vanilla = false) + internal static string GetString(string s, Dictionary replacementDic = null, bool console = false, bool showInvalid = true, bool vanilla = false) { if (vanilla) { @@ -127,7 +127,7 @@ public static class Translator return str; } - public static string GetString(string str, SupportedLangs langId, bool showInvalid = true) + internal static string GetString(string str, SupportedLangs langId, bool showInvalid = true) { var res = showInvalid ? $"" : str; try @@ -151,9 +151,9 @@ public static class Translator } return res; } - public static string GetString(StringNames stringName) + internal static string GetString(StringNames stringName) => DestroyableSingleton.Instance.GetString(stringName, new Il2CppReferenceArray(0)); - public static SupportedLangs GetUserTrueLang() + internal static SupportedLangs GetUserTrueLang() { try { diff --git a/Modules/UserDataLoader.cs b/Modules/UserDataLoader.cs index 1df9260..68d6e10 100644 --- a/Modules/UserDataLoader.cs +++ b/Modules/UserDataLoader.cs @@ -10,19 +10,19 @@ using System.Reflection; namespace BetterAmongUs.Modules; -public class UserDataLoader : MonoBehaviour +internal class UserDataLoader : MonoBehaviour { private bool isRunning; private const string ApiUrl = "https://api.weareten.ca"; private string apiToken = string.Empty; - public void Start() + internal void Start() { FetchData(); } - public void FetchData() + internal void FetchData() { if (isRunning) return; diff --git a/Modules/Zoom.cs b/Modules/Zoom.cs index 2018d6b..6b77b33 100644 --- a/Modules/Zoom.cs +++ b/Modules/Zoom.cs @@ -6,11 +6,11 @@ using UnityEngine; namespace BetterAmongUs.Modules; [HarmonyPatch(typeof(HudManager), nameof(HudManager.Update))] -public static class Zoom +internal static class Zoom { private static bool resetButtons = false; - public static void Postfix() + internal static void Postfix() { if (GameState.IsCanMove && !PlayerControl.LocalPlayer.Is(RoleTypes.GuardianAngel) && (!GameState.IsInGamePlay || !PlayerControl.LocalPlayer.IsAlive())) { @@ -62,16 +62,16 @@ public static class Zoom } } - public static void OnFixedUpdate() => + internal static void OnFixedUpdate() => DestroyableSingleton.Instance?.ShadowQuad?.gameObject?.SetActive(Camera.main.orthographicSize == 3.0f && PlayerControl.LocalPlayer.IsAlive()); } -public static class Flag +internal static class Flag { private static readonly List oneTimeList = new(); private static readonly List firstRunList = new(); - public static void Run(Action action, string type, bool firstrun = false) + internal static void Run(Action action, string type, bool firstrun = false) { if (oneTimeList.Contains(type) || firstrun && !firstRunList.Contains(type)) { @@ -83,13 +83,13 @@ public static class Flag } } - public static void NewFlag(string type) + internal static void NewFlag(string type) { if (!oneTimeList.Contains(type)) oneTimeList.Add(type); } - public static void DeleteFlag(string type) + internal static void DeleteFlag(string type) { oneTimeList.Remove(type); } diff --git a/Patches/AnnouncementPatch.cs b/Patches/AnnouncementPatch.cs index 41d9a6b..d609cfd 100644 --- a/Patches/AnnouncementPatch.cs +++ b/Patches/AnnouncementPatch.cs @@ -11,7 +11,7 @@ using UnityEngine; namespace BetterAmongUs.Patches; -public enum NewsTypes +internal enum NewsTypes { None, BAU, @@ -19,17 +19,17 @@ public enum NewsTypes } [HarmonyPatch] -public class ModNews +internal class ModNews { - public NewsTypes NewsType; - public int Number; - public string Title; - public string SubTitle; - public string ShortTitle; - public string Text; - public string Date; + internal NewsTypes NewsType; + internal int Number; + internal string Title; + internal string SubTitle; + internal string ShortTitle; + internal string Text; + internal string Date; - public Announcement ToAnnouncement() + internal Announcement ToAnnouncement() { var result = new Announcement { @@ -46,7 +46,7 @@ public class ModNews return result; } - public static List AllModNews = new List(); + internal static List AllModNews = new List(); public ModNews(NewsTypes type, int number, string title, string subTitle, string shortTitle, string text, string date) { @@ -129,7 +129,7 @@ public class ModNews } [HarmonyPatch(typeof(AnnouncementPopUp), nameof(AnnouncementPopUp.Init)), HarmonyPostfix] - public static void Initialize(ref Il2CppSystem.Collections.IEnumerator __result) + internal static void Initialize(ref Il2CppSystem.Collections.IEnumerator __result) { static IEnumerator FetchBlacklist() { @@ -140,7 +140,7 @@ public class ModNews } [HarmonyPatch(typeof(PlayerAnnouncementData), nameof(PlayerAnnouncementData.SetAnnouncements)), HarmonyPrefix] - public static bool SetModAnnouncements(PlayerAnnouncementData __instance, [HarmonyArgument(0)] ref Il2CppReferenceArray aRange) + internal static bool SetModAnnouncements(PlayerAnnouncementData __instance, [HarmonyArgument(0)] ref Il2CppReferenceArray aRange) { AllModNews.Sort((a1, a2) => DateTime.Compare(DateTime.Parse(a2.Date), DateTime.Parse(a1.Date))); @@ -161,7 +161,7 @@ public class ModNews } [HarmonyPatch(typeof(AnnouncementPanel), nameof(AnnouncementPanel.SetUp)), HarmonyPostfix] - public static void SetUpPanel(AnnouncementPanel __instance, [HarmonyArgument(0)] Announcement announcement) + internal static void SetUpPanel(AnnouncementPanel __instance, [HarmonyArgument(0)] Announcement announcement) { if (announcement.Number < 100000) return; var obj = new GameObject("ModLabel"); diff --git a/Patches/ChatNotificationPatch.cs b/Patches/ChatNotificationPatch.cs index a7c7697..37e81a3 100644 --- a/Patches/ChatNotificationPatch.cs +++ b/Patches/ChatNotificationPatch.cs @@ -4,11 +4,11 @@ using UnityEngine; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(ChatNotification))] -public class ChatNotificationPatch +internal class ChatNotificationPatch { [HarmonyPatch(nameof(ChatNotification.Update))] [HarmonyPostfix] - public static void Update_Postfix(ChatNotification __instance) + internal static void Update_Postfix(ChatNotification __instance) { __instance.GetComponent().DistanceFromEdge = new Vector3(-2.8f, 0.3f, -40f); __instance.transform.localScale = new Vector3(0.45f, 0.42f); diff --git a/Patches/ChatPatch.cs b/Patches/ChatPatch.cs index 579dfe3..d191ddf 100644 --- a/Patches/ChatPatch.cs +++ b/Patches/ChatPatch.cs @@ -16,10 +16,10 @@ namespace BetterAmongUs.Patches; class ChatPatch { - public static List ChatHistory = []; - public static int CurrentHistorySelection = -1; + internal static List ChatHistory = []; + internal static int CurrentHistorySelection = -1; - public static void ClearChat() + internal static void ClearChat() { HudManager.Instance.Chat.chatBubblePool.ReclaimAll(); } @@ -27,7 +27,7 @@ class ChatPatch [HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.RpcSendChat))] class RpcSendChatPatch { - public static bool Prefix(PlayerControl __instance, string chatText, ref bool __result) + internal static bool Prefix(PlayerControl __instance, string chatText, ref bool __result) { if (string.IsNullOrWhiteSpace(chatText)) { @@ -58,11 +58,11 @@ class ChatPatch } [HarmonyPatch(typeof(ChatController))] - public class ChatControllerPatch + internal class ChatControllerPatch { [HarmonyPatch(nameof(ChatController.Toggle))] [HarmonyPostfix] - public static void Toggle_Postfix(/*ChatController __instance*/) + internal static void Toggle_Postfix(/*ChatController __instance*/) { SetChatTheme(); } @@ -70,7 +70,7 @@ class ChatPatch [HarmonyPatch(nameof(ChatController.Update))] [HarmonyPrefix] [HarmonyPriority(Priority.First)] - public static void Update_Prefix(ChatController __instance) + internal static void Update_Prefix(ChatController __instance) { if (Main.ChatDarkMode.Value) { @@ -111,7 +111,7 @@ class ChatPatch // Add extra information to chat bubble [HarmonyPatch(nameof(ChatController.AddChat))] [HarmonyPostfix] - public static void AddChat_Postfix(ChatController __instance, [HarmonyArgument(0)] PlayerControl sourcePlayer, [HarmonyArgument(1)] string chatText) + internal static void AddChat_Postfix(ChatController __instance, [HarmonyArgument(0)] PlayerControl sourcePlayer, [HarmonyArgument(1)] string chatText) { ChatBubble? chatBubble = SetChatPoolTheme(); if (chatBubble == null) return; @@ -195,19 +195,19 @@ class ChatPatch [HarmonyPatch(nameof(ChatController.AddChatNote))] [HarmonyPostfix] - public static void AddChatNote_Postfix(ChatController __instance) + internal static void AddChatNote_Postfix(ChatController __instance) { SetChatPoolTheme(); } [HarmonyPatch(nameof(ChatController.AddChatWarning))] [HarmonyPostfix] - public static void AddChatWarning_Postfix(ChatController __instance) + internal static void AddChatWarning_Postfix(ChatController __instance) { SetChatPoolTheme(); } - public static void SetChatTheme() + internal static void SetChatTheme() { var chat = HudManager.Instance.Chat; @@ -239,7 +239,7 @@ class ChatPatch } // Set chat theme - public static ChatBubble? SetChatPoolTheme(ChatBubble? asChatBubble = null) + internal static ChatBubble? SetChatPoolTheme(ChatBubble? asChatBubble = null) { ChatBubble Get() => HudManager.Instance.Chat.chatBubblePool.activeChildren.ToArray() .Select(c => c.GetComponent()) @@ -285,7 +285,7 @@ class ChatPatch { [HarmonyPatch(nameof(FreeChatInputField.Awake))] [HarmonyPostfix] - public static void Awake_Postfix(FreeChatInputField __instance) + internal static void Awake_Postfix(FreeChatInputField __instance) { __instance.textArea.allowAllCharacters = true; __instance.textArea.AllowSymbols = true; @@ -296,7 +296,7 @@ class ChatPatch } [HarmonyPatch(nameof(FreeChatInputField.UpdateCharCount))] [HarmonyPostfix] - public static void UpdateCharCount_Postfix(FreeChatInputField __instance) + internal static void UpdateCharCount_Postfix(FreeChatInputField __instance) { int length = __instance.textArea.text.Length; __instance.charCountText.text = string.Format("{0}/118", length); diff --git a/Patches/ClientOptionsPatch.cs b/Patches/ClientOptionsPatch.cs index 59c2fc1..7337ac2 100644 --- a/Patches/ClientOptionsPatch.cs +++ b/Patches/ClientOptionsPatch.cs @@ -10,7 +10,7 @@ namespace BetterAmongUs.Patches; // Code from: https://github.com/tukasa0001/TownOfHost/pull/1265 // Code from: https://github.com/0xDrMoe/TownofHost-Enhanced [HarmonyPatch(typeof(OptionsMenuBehaviour))] -public static class OptionsMenuBehaviourPatch +internal static class OptionsMenuBehaviourPatch { private static ClientOptionItem? AntiCheat; private static ClientOptionItem? BetterNotifications; @@ -26,7 +26,7 @@ public static class OptionsMenuBehaviourPatch [HarmonyPatch(nameof(OptionsMenuBehaviour.Start))] [HarmonyPrefix] - public static void Start_Postfix(OptionsMenuBehaviour __instance) + internal static void Start_Postfix(OptionsMenuBehaviour __instance) { static bool toggleCheckInGamePlay(string buttonName) { @@ -157,7 +157,7 @@ public static class OptionsMenuBehaviourPatch [HarmonyPatch(nameof(OptionsMenuBehaviour.Close))] [HarmonyPrefix] - public static void Close_Postfix() + internal static void Close_Postfix() { ClientOptionItem.CustomBackground?.gameObject.SetActive(false); } diff --git a/Patches/ClientPatch.cs b/Patches/ClientPatch.cs index 9da0e18..c4e42e2 100644 --- a/Patches/ClientPatch.cs +++ b/Patches/ClientPatch.cs @@ -11,15 +11,15 @@ using UnityEngine.SceneManagement; namespace BetterAmongUs.Patches; -public class ClientPatch +internal class ClientPatch { // Show warning message for newer and older versions of among us [HarmonyPatch(typeof(EOSManager))] - public class EOSManagerPatch + internal class EOSManagerPatch { [HarmonyPatch(nameof(EOSManager.EndFinalPartsOfLoginFlow))] [HarmonyPostfix] - public static void EndFinalPartsOfLoginFlow_Postfix() + internal static void EndFinalPartsOfLoginFlow_Postfix() { UserData.TrySetLocalData(); @@ -57,11 +57,11 @@ public class ClientPatch // If developer set account status color to Blue [HarmonyPatch(typeof(SignInStatusComponent))] - public class SignInStatusComponentPatch + internal class SignInStatusComponentPatch { [HarmonyPatch(nameof(SignInStatusComponent.SetOnline))] [HarmonyPrefix] - public static bool SetOnline_Prefix(SignInStatusComponent __instance) + internal static bool SetOnline_Prefix(SignInStatusComponent __instance) { var lines = "----------------------------------------------------------------------------------------------"; if (!FileChecker.HasShownWarning && FileChecker.HasUnauthorizedFileOrMod) @@ -101,18 +101,18 @@ public class ClientPatch // Log game exit [HarmonyPatch(typeof(AmongUsClient))] - public class AmongUsClientPatch + internal class AmongUsClientPatch { [HarmonyPatch(nameof(AmongUsClient.ExitGame))] [HarmonyPostfix] - public static void ExitGame_Postfix([HarmonyArgument(0)] DisconnectReasons reason) + internal static void ExitGame_Postfix([HarmonyArgument(0)] DisconnectReasons reason) { Logger.Log($"Client has left game for: {Enum.GetName(reason)}", "AmongUsClientPatch"); } [HarmonyPatch(nameof(AmongUsClient.OnGameEnd))] [HarmonyPrefix] - public static void OnGameEnd_Prefix() + internal static void OnGameEnd_Prefix() { foreach (var data in GameData.Instance.AllPlayers) { @@ -129,11 +129,11 @@ public class ClientPatch } } [HarmonyPatch(typeof(InnerNetClient))] - public class InnerNetClientPatch + internal class InnerNetClientPatch { [HarmonyPatch(nameof(InnerNetClient.HandleGameData))] [HarmonyPrefix] - public static void HandleGameDataInner_Prefix(/*InnerNetClient __instance,*/ [HarmonyArgument(0)] MessageReader oldReader) + internal static void HandleGameDataInner_Prefix(/*InnerNetClient __instance,*/ [HarmonyArgument(0)] MessageReader oldReader) { var parentReader = MessageReader.Get(oldReader); while (parentReader.Position < parentReader.Length) @@ -145,21 +145,21 @@ public class ClientPatch } [HarmonyPatch(nameof(InnerNetClient.CanBan))] [HarmonyPrefix] - public static bool CanBan_Prefix(ref bool __result) + internal static bool CanBan_Prefix(ref bool __result) { __result = GameState.IsHost; return false; } [HarmonyPatch(nameof(InnerNetClient.CanKick))] [HarmonyPrefix] - public static bool CanKick_Prefix(ref bool __result) + internal static bool CanKick_Prefix(ref bool __result) { __result = GameState.IsHost || (GameState.IsInGamePlay && (GameState.IsMeeting || GameState.IsExilling)); return false; } [HarmonyPatch(nameof(InnerNetClient.KickPlayer))] [HarmonyPrefix] - public static void KickPlayer_Prefix(ref int clientId, ref bool ban) + internal static void KickPlayer_Prefix(ref int clientId, ref bool ban) { if (ban && BetterGameSettings.UseBanPlayerList.GetBool()) { @@ -170,11 +170,11 @@ public class ClientPatch } // Set text color [HarmonyPatch(typeof(CosmeticsLayer))] - public class CosmeticsLayerPatch + internal class CosmeticsLayerPatch { [HarmonyPatch(nameof(CosmeticsLayer.GetColorBlindText))] [HarmonyPrefix] - public static bool GetColorBlindText_Prefix(CosmeticsLayer __instance, ref string __result) + internal static bool GetColorBlindText_Prefix(CosmeticsLayer __instance, ref string __result) { if (__instance.bodyMatProperties.ColorId > Palette.PlayerColors.Length) return true; @@ -194,11 +194,11 @@ public class ClientPatch } // Clean up menu [HarmonyPatch(typeof(RegionMenu))] - public class RegionMenuPatch + internal class RegionMenuPatch { [HarmonyPatch(nameof(RegionMenu.OnEnable))] [HarmonyPostfix] - public static void AdjustButtonPositions_Postfix(RegionMenu __instance) + internal static void AdjustButtonPositions_Postfix(RegionMenu __instance) { const int maxColumns = 4; int buttonsPerColumn = 6; @@ -234,7 +234,7 @@ public class ClientPatch { [HarmonyPatch(nameof(ReportReasonScreen.Show))] [HarmonyPrefix] - public static void Show_Prefix(ref string playerName) + internal static void Show_Prefix(ref string playerName) { if (Utils.IsHtmlText(playerName)) { diff --git a/Patches/CommandsPatch.cs b/Patches/CommandsPatch.cs index d082e54..145980a 100644 --- a/Patches/CommandsPatch.cs +++ b/Patches/CommandsPatch.cs @@ -11,7 +11,7 @@ namespace BetterAmongUs.Patches; class CommandsPatch { private static bool _enabled = true; - public static string CommandPrefix => Main.CommandPrefix.Value; + internal static string CommandPrefix => Main.CommandPrefix.Value; // Run code for specific commands private static void HandleCommand() @@ -29,7 +29,7 @@ class CommandsPatch // Check if command is typed when sending chat message [HarmonyPatch(nameof(ChatController.SendChat))] [HarmonyPrefix] - public static bool SendChat_Prefix(ChatController __instance) + internal static bool SendChat_Prefix(ChatController __instance) { if (!_enabled) { @@ -72,7 +72,7 @@ class CommandsPatch private static TextMeshPro? commandInfo; [HarmonyPatch(nameof(ChatController.Toggle))] [HarmonyPostfix] - public static void Awake_Postfix(ChatController __instance) + internal static void Awake_Postfix(ChatController __instance) { if (commandText == null) { @@ -107,7 +107,7 @@ class CommandsPatch // Command helper [HarmonyPatch(nameof(ChatController.Update))] [HarmonyPostfix] - public static void Update_Postfix(ChatController __instance) + internal static void Update_Postfix(ChatController __instance) { if (!_enabled) { @@ -208,7 +208,7 @@ class CommandsPatch } - public static BaseCommand? GetClosestCommand(string typedCommand) + internal static BaseCommand? GetClosestCommand(string typedCommand) { var directNormalMatch = BaseCommand.allCommands .FirstOrDefault(c => c.Type == CommandType.Normal diff --git a/Patches/DisconnectPenaltyPatch.cs b/Patches/DisconnectPenaltyPatch.cs index 21155f0..3827706 100644 --- a/Patches/DisconnectPenaltyPatch.cs +++ b/Patches/DisconnectPenaltyPatch.cs @@ -3,9 +3,9 @@ namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(StatsManager), nameof(StatsManager.BanMinutesLeft), MethodType.Getter)] -public static class DisconnectPenaltyPatch +internal static class DisconnectPenaltyPatch { - public static bool Prefix(StatsManager __instance, ref int __result) + internal static bool Prefix(StatsManager __instance, ref int __result) { if (__instance.BanPoints != 0f) { diff --git a/Patches/DiscordPatch.cs b/Patches/DiscordPatch.cs index 3000e93..62e8c2c 100644 --- a/Patches/DiscordPatch.cs +++ b/Patches/DiscordPatch.cs @@ -7,12 +7,12 @@ namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(ActivityManager), nameof(ActivityManager.UpdateActivity))] -public class DiscordRPC +internal class DiscordRPC { private static string lobbycode = ""; private static string region = ""; - public static void Prefix([HarmonyArgument(0)] Activity activity) + internal static void Prefix([HarmonyArgument(0)] Activity activity) { if (activity == null) return; diff --git a/Patches/GamePlayManagerPatch.cs b/Patches/GamePlayManagerPatch.cs index 5aacc54..90fc90d 100644 --- a/Patches/GamePlayManagerPatch.cs +++ b/Patches/GamePlayManagerPatch.cs @@ -10,7 +10,7 @@ namespace BetterAmongUs.Patches; class GamePlayManager { [HarmonyPatch(typeof(LobbyBehaviour))] - public class LobbyBehaviourPatch + internal class LobbyBehaviourPatch { [HarmonyPatch(nameof(LobbyBehaviour.Start))] [HarmonyPostfix] @@ -28,7 +28,7 @@ class GamePlayManager // Disabled annoying music [HarmonyPatch(nameof(LobbyBehaviour.Update))] [HarmonyPostfix] - public static void Update_Postfix(/*LobbyBehaviour __instance*/) + internal static void Update_Postfix(/*LobbyBehaviour __instance*/) { if (Main.DisableLobbyTheme.Value) SoundManager.instance.StopSound(LobbyBehaviour.Instance.MapTheme); @@ -43,7 +43,7 @@ class GamePlayManager } [HarmonyPatch(typeof(IntroCutscene))] - public class IntroCutscenePatch + internal class IntroCutscenePatch { [HarmonyPatch(nameof(IntroCutscene.ShowRole))] [HarmonyPostfix] @@ -70,7 +70,7 @@ class GamePlayManager } [HarmonyPatch(typeof(GameManager))] - public class GameManagerPatch + internal class GameManagerPatch { [HarmonyPatch(nameof(GameManager.EndGame))] [HarmonyPostfix] @@ -87,10 +87,10 @@ class GamePlayManager } [HarmonyPatch(typeof(GameStartManager))] - public class GameStartManagerPatch + internal class GameStartManagerPatch { - public static float lobbyTimer = 600f; - public static string lobbyTimerDisplay = ""; + internal static float lobbyTimer = 600f; + internal static string lobbyTimerDisplay = ""; [HarmonyPatch(nameof(GameStartManager.Start))] [HarmonyPostfix] private static void Start_Postfix(/*GameStartManager __instance*/) @@ -158,7 +158,7 @@ class GamePlayManager } } [HarmonyPatch(typeof(EndGameManager))] - public class EndGameManagerPatch + internal class EndGameManagerPatch { [HarmonyPatch(nameof(EndGameManager.SetEverythingUp))] [HarmonyPostfix] diff --git a/Patches/GameSettingMenuPatch.cs b/Patches/GameSettingMenuPatch.cs index 2323d4a..c317d0b 100644 --- a/Patches/GameSettingMenuPatch.cs +++ b/Patches/GameSettingMenuPatch.cs @@ -10,37 +10,37 @@ namespace BetterAmongUs.Patches; class BetterGameSettings { - public static BetterOptionItem? WhenCheating; - public static BetterOptionItem? InvalidFriendCode; - public static BetterOptionItem? UseBanPlayerList; - public static BetterOptionItem? UseBanNameList; - public static BetterOptionItem? UseBanWordList; - public static BetterOptionItem? HideAndSeekImpNum; - public static BetterOptionItem? DetectedLevelAbove; - public static BetterOptionItem? DetectCheatClients; - public static BetterOptionItem? DetectInvalidRPCs; - public static BetterOptionItem? RoleRandomizer; - public static BetterOptionItem? DesyncRoles; - public static BetterOptionItem? CancelInvalidSabotage; - public static BetterOptionItem? CensorDetectionReason; + internal static BetterOptionItem? WhenCheating; + internal static BetterOptionItem? InvalidFriendCode; + internal static BetterOptionItem? UseBanPlayerList; + internal static BetterOptionItem? UseBanNameList; + internal static BetterOptionItem? UseBanWordList; + internal static BetterOptionItem? HideAndSeekImpNum; + internal static BetterOptionItem? DetectedLevelAbove; + internal static BetterOptionItem? DetectCheatClients; + internal static BetterOptionItem? DetectInvalidRPCs; + internal static BetterOptionItem? RoleRandomizer; + internal static BetterOptionItem? DesyncRoles; + internal static BetterOptionItem? CancelInvalidSabotage; + internal static BetterOptionItem? CensorDetectionReason; } class BetterGameSettingsTemp { - public static BetterOptionItem? HideAndSeekImp2; - public static BetterOptionItem? HideAndSeekImp3; - public static BetterOptionItem? HideAndSeekImp4; - public static BetterOptionItem? HideAndSeekImp5; + internal static BetterOptionItem? HideAndSeekImp2; + internal static BetterOptionItem? HideAndSeekImp3; + internal static BetterOptionItem? HideAndSeekImp4; + internal static BetterOptionItem? HideAndSeekImp5; } [HarmonyPatch(typeof(GameSettingMenu))] static class GameSettingMenuPatch { private static PassiveButton BetterSettingsButton; - public static GameOptionsMenu BetterSettingsTab; + internal static GameOptionsMenu BetterSettingsTab; private static List TitleList = []; - public static void SetupSettings(bool IsPreload = false) + internal static void SetupSettings(bool IsPreload = false) { BetterOptionItem.BetterOptionItems.Clear(); BetterOptionItem.TempPlayerOptionDataNum = 0; @@ -158,7 +158,7 @@ static class GameSettingMenuPatch [HarmonyPatch(nameof(GameSettingMenu.Update))] [HarmonyPostfix] - public static void Update_Postfix(GameSettingMenu __instance) + internal static void Update_Postfix(GameSettingMenu __instance) { if (BetterSettingsButton != null) { @@ -181,7 +181,7 @@ static class GameSettingMenuPatch [HarmonyPatch(nameof(GameSettingMenu.Start))] [HarmonyPostfix] - public static void Start_Postfix(GameSettingMenu __instance) + internal static void Start_Postfix(GameSettingMenu __instance) { __instance.gameObject.transform.SetLocalY(-0.1f); GameObject PanelSprite = __instance.gameObject.transform.Find("PanelSprite").gameObject; @@ -245,7 +245,7 @@ static class GameSettingMenuPatch [HarmonyPatch(nameof(GameSettingMenu.ChangeTab))] [HarmonyPrefix] - public static void ChangeTab_Prefix(GameSettingMenu __instance, [HarmonyArgument(0)] int tabNum, [HarmonyArgument(1)] bool previewOnly) + internal static void ChangeTab_Prefix(GameSettingMenu __instance, [HarmonyArgument(0)] int tabNum, [HarmonyArgument(1)] bool previewOnly) { if (BetterSettingsTab == null || BetterSettingsButton == null) return; @@ -265,7 +265,7 @@ static class GameSettingMenuPatch [HarmonyPatch(nameof(GameSettingMenu.ChangeTab))] [HarmonyPostfix] - public static void ChangeTab_Postfix(GameSettingMenu __instance, [HarmonyArgument(0)] int tabNum) + internal static void ChangeTab_Postfix(GameSettingMenu __instance, [HarmonyArgument(0)] int tabNum) { if (BetterSettingsTab == null || BetterSettingsButton == null) return; @@ -286,7 +286,7 @@ static class GameOptionsMenuPatch { [HarmonyPatch(nameof(GameOptionsMenu.CreateSettings))] [HarmonyPrefix] - public static bool CreateSettings_Prefix(GameOptionsMenu __instance) + internal static bool CreateSettings_Prefix(GameOptionsMenu __instance) { if (__instance == GameSettingMenuPatch.BetterSettingsTab) { @@ -302,7 +302,7 @@ static class OptionsConsolePatch { [HarmonyPatch(nameof(OptionsConsole.CanUse))] [HarmonyPrefix] - public static void CanUse_Prefix(OptionsConsole __instance) + internal static void CanUse_Prefix(OptionsConsole __instance) { __instance.HostOnly = false; } @@ -314,7 +314,7 @@ static class NumberOptionPatch { [HarmonyPatch(nameof(NumberOption.Increase))] [HarmonyPrefix] - public static bool Increase_Prefix(NumberOption __instance) + internal static bool Increase_Prefix(NumberOption __instance) { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) @@ -338,7 +338,7 @@ static class NumberOptionPatch [HarmonyPatch(nameof(NumberOption.Decrease))] [HarmonyPrefix] - public static bool Decrease_Prefix(NumberOption __instance) + internal static bool Decrease_Prefix(NumberOption __instance) { int times = 1; if (Input.GetKey(KeyCode.LeftShift)) diff --git a/Patches/HudManagerPatch.cs b/Patches/HudManagerPatch.cs index 276bb51..7de4a47 100644 --- a/Patches/HudManagerPatch.cs +++ b/Patches/HudManagerPatch.cs @@ -9,9 +9,9 @@ using UnityEngine; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(HudManager))] -public class HudManagerPatch +internal class HudManagerPatch { - public static string WelcomeMessage = $"{string.Format(Translator.GetString("WelcomeMsg.WelcomeToBAU"), Translator.GetString("BetterAmongUs"))}\n{Main.GetVersionText()}\n" + + internal static string WelcomeMessage = $"{string.Format(Translator.GetString("WelcomeMsg.WelcomeToBAU"), Translator.GetString("BetterAmongUs"))}\n{Main.GetVersionText()}\n" + $"{Translator.GetString("WelcomeMsg.ThanksForDownloading")}\n \n" + string.Format(Translator.GetString("WelcomeMsg.BAUDescription1"), Translator.GetString("bau"), Translator.GetString("BetterOption.AntiCheat")) + "\n\n" + string.Format(Translator.GetString("WelcomeMsg.BAUDescription2"), Translator.GetString("bau"), Translator.GetString("BetterOption"), Translator.GetString("BetterOption.BetterHost")); @@ -19,7 +19,7 @@ public class HudManagerPatch private static bool HasBeenWelcomed = false; [HarmonyPatch(nameof(HudManager.Start))] [HarmonyPostfix] - public static void Start_Postfix(HudManager __instance) + internal static void Start_Postfix(HudManager __instance) { if (BetterNotificationManager.BAUNotificationManagerObj == null) { @@ -60,7 +60,7 @@ public class HudManagerPatch } [HarmonyPatch(nameof(HudManager.Update))] [HarmonyPostfix] - public static void Update_Postfix(HudManager __instance) + internal static void Update_Postfix(HudManager __instance) { try { @@ -97,11 +97,11 @@ public class HudManagerPatch } [HarmonyPatch(typeof(KillOverlay))] -public class KillOverlayPatch +internal class KillOverlayPatch { [HarmonyPatch(nameof(KillOverlay.ShowKillAnimation), new Type[] { typeof(OverlayKillAnimation), typeof(NetworkedPlayerInfo), typeof(NetworkedPlayerInfo) })] [HarmonyPrefix] - public static bool ShowKillAnimation_Prefix() + internal static bool ShowKillAnimation_Prefix() { if (!PlayerControl.LocalPlayer.IsAlive()) { diff --git a/Patches/MainMenuPatch.cs b/Patches/MainMenuPatch.cs index 4a3e38e..e092d93 100644 --- a/Patches/MainMenuPatch.cs +++ b/Patches/MainMenuPatch.cs @@ -21,7 +21,7 @@ internal class MainMenuPatch private static SpriteRenderer? sprite; [HarmonyPatch(nameof(MainMenuManager.LateUpdate))] [HarmonyPostfix] - public static void LateUpdate_Postfix(MainMenuManager __instance) + internal static void LateUpdate_Postfix(MainMenuManager __instance) { if (BannedUserData.IsBanned || FileChecker.HasUnauthorizedFileOrMod) { @@ -58,7 +58,7 @@ internal class MainMenuPatch // Replace AU logo with BAU logo [HarmonyPatch(nameof(MainMenuManager.Start))] [HarmonyPostfix] - public static void Postfix(MainMenuManager __instance) + internal static void Postfix(MainMenuManager __instance) { GameObject logo = GameObject.Find("LeftPanel/Sizer/LOGO-AU"); GameObject sizer = logo.transform.parent.gameObject; @@ -110,7 +110,7 @@ internal class MainMenuPatch } } - public static PassiveButton CreateButton(string name, Color32 normalColor, Color32 hoverColor, Action action, string label, Vector2? scale = null) + internal static PassiveButton CreateButton(string name, Color32 normalColor, Color32 hoverColor, Action action, string label, Vector2? scale = null) { var button = UnityEngine.Object.Instantiate(template); buttons.Add(button); diff --git a/Patches/MeetingHudPatch.cs b/Patches/MeetingHudPatch.cs index 0568219..9ead5fc 100644 --- a/Patches/MeetingHudPatch.cs +++ b/Patches/MeetingHudPatch.cs @@ -15,7 +15,7 @@ class MeetingHudPatch { [HarmonyPatch(nameof(MeetingHud.Start))] [HarmonyPostfix] - public static void Start_Postfix(MeetingHud __instance) + internal static void Start_Postfix(MeetingHud __instance) { TopText.Clear(); InfoText.Clear(); @@ -61,19 +61,19 @@ class MeetingHudPatch [HarmonyPatch(nameof(MeetingHud.SetMasksEnabled))] [HarmonyPostfix] - public static void SetMasksEnabled_Postfix(/*MeetingHud __instance*/) + internal static void SetMasksEnabled_Postfix(/*MeetingHud __instance*/) { Utils.DirtyAllNames(); } - public static Dictionary TopText = []; - public static Dictionary InfoText = []; - public static float timeOpen = 0f; + internal static Dictionary TopText = []; + internal static Dictionary InfoText = []; + internal static float timeOpen = 0f; // Set player meeting info [HarmonyPatch(nameof(MeetingHud.Update))] [HarmonyPostfix] - public static void Update_Postfix(MeetingHud __instance) + internal static void Update_Postfix(MeetingHud __instance) { timeOpen += Time.deltaTime; @@ -169,10 +169,7 @@ class MeetingHudPatch { if ((PlayerControl.LocalPlayer.IsAlive() || PlayerControl.LocalPlayer.Is(RoleTypes.GuardianAngel)) && !target.IsLocalPlayer()) { - if (!DebugMenu.RevealRoles) - { - Role = ""; - } + Role = ""; } } @@ -217,7 +214,7 @@ class MeetingHudPatch [HarmonyPatch(nameof(MeetingHud.Close))] [HarmonyPostfix] - public static void Close_Postfix() + internal static void Close_Postfix() { timeOpen = 0f; Logger.LogHeader("Meeting Has Ended"); diff --git a/Patches/MiniMapBehaviourPatch.cs b/Patches/MiniMapBehaviourPatch.cs index d99c715..4502117 100644 --- a/Patches/MiniMapBehaviourPatch.cs +++ b/Patches/MiniMapBehaviourPatch.cs @@ -4,20 +4,20 @@ using UnityEngine; namespace BetterAmongUs.Patches; -public class MiniMapBehaviourPatch +internal class MiniMapBehaviourPatch { [HarmonyPatch(typeof(MapBehaviour))] class MapBehaviourPatch { [HarmonyPatch(nameof(MapBehaviour.ShowNormalMap))] [HarmonyPostfix] - public static void ShowNormalMap_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(0.05f, 0.6f, 1f, 1f)); + internal static void ShowNormalMap_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(0.05f, 0.6f, 1f, 1f)); [HarmonyPatch(nameof(MapBehaviour.ShowSabotageMap))] [HarmonyPostfix] - public static void ShowSabotageMap_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(1f, 0.3f, 0f, 1f)); + internal static void ShowSabotageMap_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(1f, 0.3f, 0f, 1f)); [HarmonyPatch(nameof(MapBehaviour.ShowCountOverlay))] [HarmonyPostfix] - public static void ShowCountOverlay_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(0.2f, 0.5f, 0f, 1f)); + internal static void ShowCountOverlay_Postfix(MapBehaviour __instance) => __instance.ColorControl.SetColor(new Color(0.2f, 0.5f, 0f, 1f)); } [HarmonyPatch(typeof(MapConsole))] @@ -25,6 +25,6 @@ public class MiniMapBehaviourPatch { [HarmonyPatch(nameof(MapConsole.Use))] [HarmonyPostfix] - public static void ShowCountOverlay_Postfix() => MapBehaviour.Instance.ColorControl.SetColor(new Color(0.2f, 0.5f, 0f, 1f)); + internal static void ShowCountOverlay_Postfix() => MapBehaviour.Instance.ColorControl.SetColor(new Color(0.2f, 0.5f, 0f, 1f)); } } diff --git a/Patches/ModManagerPatch.cs b/Patches/ModManagerPatch.cs index c3bb3be..e37b0cb 100644 --- a/Patches/ModManagerPatch.cs +++ b/Patches/ModManagerPatch.cs @@ -7,11 +7,11 @@ using UnityEngine; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(ModManager))] -public class ModManagerPatch +internal class ModManagerPatch { [HarmonyPatch(nameof(ModManager.LateUpdate))] [HarmonyPostfix] - public static void LateUpdate_Postfix(ModManager __instance) + internal static void LateUpdate_Postfix(ModManager __instance) { if (SplashIntroPatch.IsReallyDoneLoading) { diff --git a/Patches/PingTrackerPatch.cs b/Patches/PingTrackerPatch.cs index 1c1915c..62a6020 100644 --- a/Patches/PingTrackerPatch.cs +++ b/Patches/PingTrackerPatch.cs @@ -8,11 +8,11 @@ using static BetterAmongUs.Patches.GamePlayManager; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(PingTracker))] -public class PingTrackerPatch +internal class PingTrackerPatch { [HarmonyPatch(nameof(PingTracker.Update))] [HarmonyPrefix] - public static bool Prefix(PingTracker __instance) + internal static bool Prefix(PingTracker __instance) { try { diff --git a/Patches/PlayerControlPatch.cs b/Patches/PlayerControlPatch.cs index 7bbef9e..39ee497 100644 --- a/Patches/PlayerControlPatch.cs +++ b/Patches/PlayerControlPatch.cs @@ -16,28 +16,28 @@ class PlayerControlPatch { [HarmonyPatch(nameof(PlayerControl.Start))] [HarmonyPostfix] - public static void Start_Postfix(PlayerControl __instance) + internal static void Start_Postfix(PlayerControl __instance) { Main.AllPlayerControls.Add(__instance); } [HarmonyPatch(nameof(PlayerControl.OnDestroy))] [HarmonyPostfix] - public static void OnDestroy_Postfix(PlayerControl __instance) + internal static void OnDestroy_Postfix(PlayerControl __instance) { Main.AllPlayerControls.Remove(__instance); } [HarmonyPatch(nameof(PlayerControl.FixedUpdate))] [HarmonyPrefix] - public static void FixedUpdate_Prefix(PlayerControl __instance) + internal static void FixedUpdate_Prefix(PlayerControl __instance) { SetPlayerInfo(__instance); SetPlayerHighlight(__instance); __instance.UpdateColorBlindTextPosition(); } - public static void SetPlayerHighlight(PlayerControl player) + internal static void SetPlayerHighlight(PlayerControl player) { string hashPuid = Utils.GetHashPuid(player); string friendCode = player.Data.FriendCode; @@ -45,7 +45,7 @@ class PlayerControlPatch SetPlayerOutline(player, hashPuid, friendCode, new()); } - public static void SetPlayerInfo(PlayerControl player) + internal static void SetPlayerInfo(PlayerControl player) { if (player?.Data == null || player?.BetterData()?.IsDirtyInfo != true) return; player.BetterData().IsDirtyInfo = false; @@ -209,7 +209,7 @@ class PlayerControlPatch private static void SetInGameInfo(PlayerControl player, StringBuilder sbTagTop) { - if (player.IsImpostorTeammate() || player.IsLocalPlayer() || (!PlayerControl.LocalPlayer.IsAlive() && !PlayerControl.LocalPlayer.Is(RoleTypes.GuardianAngel)) || DebugMenu.RevealRoles) + if (player.IsImpostorTeammate() || player.IsLocalPlayer() || (!PlayerControl.LocalPlayer.IsAlive() && !PlayerControl.LocalPlayer.Is(RoleTypes.GuardianAngel))) { string roleInfo = $"{player.GetRoleName()}"; if (!player.IsImpostorTeam() && player.myTasks.Count > 0) @@ -238,7 +238,7 @@ class PlayerControlPatch [HarmonyPatch(nameof(PlayerControl.RpcSetName))] [HarmonyPrefix] - public static bool RpcSetName_Prefix(PlayerControl __instance, [HarmonyArgument(0)] string name) + internal static bool RpcSetName_Prefix(PlayerControl __instance, [HarmonyArgument(0)] string name) { Utils.DirtyAllNames(); @@ -248,28 +248,28 @@ class PlayerControlPatch [HarmonyPatch(nameof(PlayerControl.CompleteTask))] [HarmonyPostfix] - public static void CompleteTask_Postfix(PlayerControl __instance) + internal static void CompleteTask_Postfix(PlayerControl __instance) { __instance.DirtyName(); } [HarmonyPatch(nameof(PlayerControl.CoSetRole))] [HarmonyPostfix] - public static void CoSetRole_Postfix(PlayerControl __instance) + internal static void CoSetRole_Postfix(PlayerControl __instance) { __instance.DirtyName(); } [HarmonyPatch(nameof(PlayerControl.Revive))] [HarmonyPostfix] - public static void Revive_Postfix(PlayerControl __instance) + internal static void Revive_Postfix(PlayerControl __instance) { Utils.DirtyAllNames(); } [HarmonyPatch(nameof(PlayerControl.MurderPlayer))] [HarmonyPostfix] - public static void MurderPlayer_Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target) + internal static void MurderPlayer_Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target) { if (target == null) return; @@ -281,7 +281,7 @@ class PlayerControlPatch } [HarmonyPatch(nameof(PlayerControl.Shapeshift))] [HarmonyPostfix] - public static void Shapeshift_Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target, [HarmonyArgument(1)] bool animate) + internal static void Shapeshift_Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target, [HarmonyArgument(1)] bool animate) { if (target == null) return; @@ -292,7 +292,7 @@ class PlayerControlPatch } [HarmonyPatch(nameof(PlayerControl.SetRoleInvisibility))] [HarmonyPostfix] - public static void SetRoleInvisibility_Postfix(PlayerControl __instance, [HarmonyArgument(0)] bool isActive, [HarmonyArgument(1)] bool animate) + internal static void SetRoleInvisibility_Postfix(PlayerControl __instance, [HarmonyArgument(0)] bool isActive, [HarmonyArgument(1)] bool animate) { if (isActive) @@ -303,7 +303,7 @@ class PlayerControlPatch } [HarmonyPatch(typeof(PlayerPhysics))] -public class PlayerPhysicsPatch +internal class PlayerPhysicsPatch { [HarmonyPatch(nameof(PlayerPhysics.BootFromVent))] [HarmonyPostfix] diff --git a/Patches/PlayerJoinAndLeftPatch.cs b/Patches/PlayerJoinAndLeftPatch.cs index b1561c2..f2cd23a 100644 --- a/Patches/PlayerJoinAndLeftPatch.cs +++ b/Patches/PlayerJoinAndLeftPatch.cs @@ -10,7 +10,7 @@ namespace BetterAmongUs; [HarmonyPatch(typeof(AmongUsClient), nameof(AmongUsClient.OnGameJoined))] class OnGameJoinedPatch { - public static void Postfix(/*AmongUsClient __instance*/) + internal static void Postfix(/*AmongUsClient __instance*/) { try { @@ -28,9 +28,9 @@ class OnGameJoinedPatch } } [HarmonyPatch(typeof(AmongUsClient), nameof(AmongUsClient.OnPlayerJoined))] -public static class OnPlayerJoinedPatch +internal static class OnPlayerJoinedPatch { - public static void Postfix(/*AmongUsClient __instance,*/ [HarmonyArgument(0)] ClientData client) + internal static void Postfix(/*AmongUsClient __instance,*/ [HarmonyArgument(0)] ClientData client) { _ = new LateTask(() => { @@ -105,7 +105,7 @@ public static class OnPlayerJoinedPatch [HarmonyPatch(typeof(AmongUsClient), nameof(AmongUsClient.OnPlayerLeft))] class OnPlayerLeftPatch { - public static void Postfix(/*AmongUsClient __instance,*/ [HarmonyArgument(0)] ClientData data, [HarmonyArgument(1)] DisconnectReasons reason) + internal static void Postfix(/*AmongUsClient __instance,*/ [HarmonyArgument(0)] ClientData data, [HarmonyArgument(1)] DisconnectReasons reason) { } } @@ -116,7 +116,7 @@ class OnPlayerLeftPatch [HarmonyPatch(new Type[] { typeof(PlayerControl), typeof(DisconnectReasons) })] class GameDataHandleDisconnectPatch { - public static void Prefix(/*GameData __instance,*/ [HarmonyArgument(0)] PlayerControl player, [HarmonyArgument(1)] DisconnectReasons reason) + internal static void Prefix(/*GameData __instance,*/ [HarmonyArgument(0)] PlayerControl player, [HarmonyArgument(1)] DisconnectReasons reason) { if (player.BetterData() != null) { @@ -131,7 +131,7 @@ class GameDataHandleDisconnectPatch [HarmonyPatch(typeof(GameData), nameof(GameData.ShowNotification))] class GameDataShowNotificationPatch { - public static void BetterShowNotification(NetworkedPlayerInfo playerData, DisconnectReasons reason = DisconnectReasons.Unknown, string forceReasonText = "") + internal static void BetterShowNotification(NetworkedPlayerInfo playerData, DisconnectReasons reason = DisconnectReasons.Unknown, string forceReasonText = "") { if (playerData.BetterData().AntiCheatInfo.BannedByAntiCheat || playerData.BetterData().HasShowDcMsg) return; playerData.BetterData().HasShowDcMsg = true; @@ -184,7 +184,7 @@ class GameDataShowNotificationPatch } } - public static bool Prefix() + internal static bool Prefix() { return false; } diff --git a/Patches/RoleManagerPatch.cs b/Patches/RoleManagerPatch.cs index bc0f957..312c41e 100644 --- a/Patches/RoleManagerPatch.cs +++ b/Patches/RoleManagerPatch.cs @@ -7,10 +7,10 @@ using Hazel; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(RoleManager))] -public class RoleManagerPatch +internal class RoleManagerPatch { - public static Dictionary SetPlayerRole = []; // Player, Role - public static Dictionary ImpostorMultiplier = []; // HashPuid, Multiplier + internal static Dictionary SetPlayerRole = []; // Player, Role + internal static Dictionary ImpostorMultiplier = []; // HashPuid, Multiplier private static Random random = new Random(); static readonly Func clientCheck = (clientData) => @@ -21,7 +21,7 @@ public class RoleManagerPatch // Better role algorithm [HarmonyPatch(nameof(RoleManager.SelectRoles))] [HarmonyPrefix] - public static bool RoleManager_Prefix(/*RoleManager __instance*/) + internal static bool RoleManager_Prefix(/*RoleManager __instance*/) { if (!GameState.IsHideNSeek) { @@ -35,7 +35,7 @@ public class RoleManagerPatch return false; } - public static void RegularBetterRoleAssignment() + internal static void RegularBetterRoleAssignment() { Logger.LogHeader($"Better Role Assignment Has Started", "RoleManager"); @@ -264,7 +264,7 @@ public class RoleManagerPatch Logger.LogHeader($"Better Role Assignment Has Finished", "RoleManager"); } - public static void HideAndSeekBetterRoleAssignment() + internal static void HideAndSeekBetterRoleAssignment() { Logger.LogHeader($"Better Role Assignment Has Started", "RoleManager"); @@ -381,7 +381,7 @@ public class RoleManagerPatch [HarmonyPatch(nameof(RoleManager.AssignRoleOnDeath))] [HarmonyPrefix] - public static bool AssignRoleOnDeath_Prefix(/*RoleManager __instance*/ [HarmonyArgument(0)] PlayerControl player) + internal static bool AssignRoleOnDeath_Prefix(/*RoleManager __instance*/ [HarmonyArgument(0)] PlayerControl player) { Dictionary GhostRoles = new() // Role, Amount { @@ -459,7 +459,7 @@ public class RoleManagerPatch return shuffledDictionary; } - public static int RNG() + internal static int RNG() { switch (BetterGameSettings.RoleRandomizer.GetValue()) { diff --git a/Patches/RolePatch.cs b/Patches/RolePatch.cs index bdd2ab7..ab137e5 100644 --- a/Patches/RolePatch.cs +++ b/Patches/RolePatch.cs @@ -10,7 +10,7 @@ class RolePatch { [HarmonyPatch(nameof(NoisemakerRole.OnDeath))] [HarmonyPrefix] - public static bool NotifyOfDeath_Prefix(NoisemakerRole __instance) + internal static bool NotifyOfDeath_Prefix(NoisemakerRole __instance) { if (__instance.Player.BetterData().RoleInfo.HasNoisemakerNotify) { diff --git a/Patches/SplashIntroPatch.cs b/Patches/SplashIntroPatch.cs index 6c0f0f7..fca2ab1 100644 --- a/Patches/SplashIntroPatch.cs +++ b/Patches/SplashIntroPatch.cs @@ -6,8 +6,8 @@ namespace BetterAmongUs.Patches; class SplashIntroPatch { - public static bool BetterIntro = false; - public static bool IsReallyDoneLoading = false; + internal static bool BetterIntro = false; + internal static bool IsReallyDoneLoading = false; private static GameObject BetterLogo; [HarmonyPatch(typeof(SplashManager))] @@ -15,14 +15,14 @@ class SplashIntroPatch { [HarmonyPatch(nameof(SplashManager.Start))] [HarmonyPrefix] - public static void Start_Prefix(SplashManager __instance) + internal static void Start_Prefix(SplashManager __instance) { __instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(100f); } [HarmonyPatch(nameof(SplashManager.Update))] [HarmonyPrefix] - public static bool Update_Prefix(SplashManager __instance) + internal static bool Update_Prefix(SplashManager __instance) { if (Time.time - __instance.startTime > 2f && BetterIntro) { diff --git a/Patches/VersionShowerPatch.cs b/Patches/VersionShowerPatch.cs index bda275b..e1878d5 100644 --- a/Patches/VersionShowerPatch.cs +++ b/Patches/VersionShowerPatch.cs @@ -5,11 +5,11 @@ using HarmonyLib; namespace BetterAmongUs.Patches; [HarmonyPatch(typeof(VersionShower))] -public class VersionShowerPatch +internal class VersionShowerPatch { [HarmonyPatch(nameof(VersionShower.Start))] [HarmonyPostfix] - public static void Postfix(VersionShower __instance) + internal static void Postfix(VersionShower __instance) { string mark = Translator.GetString("BAUMark"); string bau = Translator.GetString("BAU"); diff --git a/Resources/DebugWindowRes/ReactorCoroutines/Coroutines.cs b/Resources/DebugWindowRes/ReactorCoroutines/Coroutines.cs deleted file mode 100644 index 50cb3bf..0000000 --- a/Resources/DebugWindowRes/ReactorCoroutines/Coroutines.cs +++ /dev/null @@ -1,56 +0,0 @@ -using BepInEx.Unity.IL2CPP.Utils; -using System.Collections; -using System.Diagnostics.CodeAnalysis; -using System.Runtime.CompilerServices; -using UnityEngine; - -namespace BetterAmongUs.Resources; - -public static class Coroutines -{ - internal sealed class Component : MonoBehaviour - { - internal static Component? Instance { get; set; } - - public Component(IntPtr ptr) : base(ptr) - { - } - - public void Awake() - { - Instance = this; - } - - public void OnDestroy() - { - Instance = null; - } - } - - internal static readonly ConditionalWeakTable _ourCoroutineStore = new(); - - internal static IEnumerator GenericRoutine(IEnumerator coroutine) - { - yield return coroutine; - _ourCoroutineStore.Remove(coroutine); - } - - [return: NotNullIfNotNull("coroutine")] - public static IEnumerator? Start(IEnumerator? coroutine) - { - if (coroutine != null) - { - _ourCoroutineStore.AddOrUpdate(coroutine, Component.Instance!.StartCoroutine(GenericRoutine(coroutine))); - } - - return coroutine; - } - - public static void Stop(IEnumerator? coroutine) - { - if (coroutine != null && _ourCoroutineStore.TryGetValue(coroutine, out var routine)) - { - Component.Instance!.StopCoroutine(routine); - } - } -} \ No newline at end of file diff --git a/Resources/DebugWindowRes/ReactorImGui/DragWindow.cs b/Resources/DebugWindowRes/ReactorImGui/DragWindow.cs deleted file mode 100644 index 9c80203..0000000 --- a/Resources/DebugWindowRes/ReactorImGui/DragWindow.cs +++ /dev/null @@ -1,20 +0,0 @@ -using UnityEngine; - -namespace BetterAmongUs.Resources; - -public class DragWindow : Window -{ - public DragWindow(Rect rect, string title, Action func) : base(rect, title, func) - { - Func = id => - { - func(id); - - GUI.DragWindow(new Rect(0, 0, 10000, 20)); - Rect = Rect.ClampScreen(); - }; - } - public DragWindow(Rect rect, string title, Action func) : this(rect, title, _ => func()) - { - } -} diff --git a/Resources/DebugWindowRes/ReactorImGui/GUIExtensions.cs b/Resources/DebugWindowRes/ReactorImGui/GUIExtensions.cs deleted file mode 100644 index 4eefc1a..0000000 --- a/Resources/DebugWindowRes/ReactorImGui/GUIExtensions.cs +++ /dev/null @@ -1,29 +0,0 @@ -using UnityEngine; - -namespace BetterAmongUs.Resources; - -public static class GUIExtensions -{ - public static Rect ClampScreen(this Rect rect) - { - rect.x = Mathf.Clamp(rect.x, 0, Screen.width - rect.width); - rect.y = Mathf.Clamp(rect.y, 0, Screen.height - rect.height); - - return rect; - } - public static Rect ResetSize(this Rect rect) - { - rect.width = rect.height = 0; - - return rect; - } - public static Sprite CreateSprite(this Texture2D texture, Vector2? pivot = null, float pixelsPerUnit = 100f) - { - return Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), pivot ?? new Vector2(0.5f, 0.5f), pixelsPerUnit); - } - public static void SetSize(this RectTransform rectTransform, float width, float height) - { - rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, width); - rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height); - } -} diff --git a/Resources/DebugWindowRes/ReactorImGui/Window.cs b/Resources/DebugWindowRes/ReactorImGui/Window.cs deleted file mode 100644 index 62f0e1e..0000000 --- a/Resources/DebugWindowRes/ReactorImGui/Window.cs +++ /dev/null @@ -1,44 +0,0 @@ -using UnityEngine; - -namespace BetterAmongUs.Resources; - -public class Window -{ - private static int _lastWindowId; - public static int NextWindowId() - { - return _lastWindowId++; - } - public int Id { get; set; } = NextWindowId(); - public bool Enabled { get; set; } = true; - public Rect Rect { get; set; } - public Action Func { get; set; } - public string Title { get; set; } - public Window(Rect rect, string title, Action func) - { - Rect = rect; - Title = title; - Func = func; - } - public Window(Rect rect, string title, Action func) : this(rect, title, _ => func()) - { - } - public virtual void OnGUI() - { - if (Enabled) - { - if (Event.current.type == EventType.Layout) - { - Rect = Rect.ResetSize(); - } - - GUI.skin.label.wordWrap = false; - Rect = GUILayout.Window(Id, Rect, Func, Title, GUILayout.MinWidth(GUI.skin.label.CalcSize(new GUIContent(Title)).x * 2)); - - if ((Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) && Rect.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))) - { - Input.ResetInputAxes(); - } - } - } -} \ No newline at end of file diff --git a/main.cs b/main.cs index c9ae2d0..c641ada 100644 --- a/main.cs +++ b/main.cs @@ -17,7 +17,7 @@ using UnityEngine; namespace BetterAmongUs; -public enum ReleaseTypes : int +internal enum ReleaseTypes : int { Release, Beta, @@ -26,20 +26,20 @@ public enum ReleaseTypes : int [BepInPlugin(PluginGuid, "BetterAmongUs", PluginVersion)] [BepInProcess("Among Us.exe")] -public class Main : BasePlugin +internal class Main : BasePlugin { - public static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Release; - public const string BetaNum = "0"; - public const string HotfixNum = "0"; - public const bool IsHotFix = false; - public const string PluginGuid = "com.ten.betteramongus"; - public const string PluginVersion = "1.1.6"; - public const string ReleaseDate = "3.25.2025"; // mm/dd/yyyy - public const string Github = "https://github.com/EnhancedNetwork/BetterAmongUs-Public"; - public const string Discord = "https://discord.gg/ten"; - public static UserData MyData = UserData.AllUsers.First(); + internal static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Release; + internal const string BetaNum = "0"; + internal const string HotfixNum = "0"; + internal const bool IsHotFix = false; + internal const string PluginGuid = "com.ten.betteramongus"; + internal const string PluginVersion = "1.1.6"; + internal const string ReleaseDate = "3.25.2025"; // mm/dd/yyyy + internal const string Github = "https://github.com/EnhancedNetwork/BetterAmongUs-Public"; + internal const string Discord = "https://discord.gg/ten"; + internal static UserData MyData = UserData.AllUsers.First(); - public static string modSignature + internal static string modSignature { get { @@ -68,7 +68,7 @@ public class Main : BasePlugin } } - public static string GetVersionText(bool newLine = false) + internal static string GetVersionText(bool newLine = false) { string text = string.Empty; @@ -94,14 +94,14 @@ public class Main : BasePlugin return text; } - public Harmony Harmony { get; } = new Harmony(PluginGuid); + internal Harmony Harmony { get; } = new Harmony(PluginGuid); - public static string BetterAmongUsVersion => PluginVersion; - public static string AmongUsVersion => Application.version; + internal static string BetterAmongUsVersion => PluginVersion; + internal static string AmongUsVersion => Application.version; - public static PlatformSpecificData PlatformData => Constants.GetPlatformData(); + internal static PlatformSpecificData PlatformData => Constants.GetPlatformData(); - public static List SupportedAmongUsVersions = + internal static List SupportedAmongUsVersions = [ "2024.11.26", "2024.10.29", @@ -110,12 +110,12 @@ public class Main : BasePlugin "2024.6.18", ]; - public static List AllPlayerControls = []; - public static List AllAlivePlayerControls => AllPlayerControls.Where(pc => pc.IsAlive()).ToList(); - public static DeadBody[] AllDeadBodys => UnityEngine.Object.FindObjectsOfType().ToArray(); - public static Vent[] AllVents => UnityEngine.Object.FindObjectsOfType(); + internal static List AllPlayerControls = []; + internal static List AllAlivePlayerControls => AllPlayerControls.Where(pc => pc.IsAlive()).ToList(); + internal static DeadBody[] AllDeadBodys => UnityEngine.Object.FindObjectsOfType().ToArray(); + internal static Vent[] AllVents => UnityEngine.Object.FindObjectsOfType(); - public static Dictionary GetRoleName() + internal static Dictionary GetRoleName() { return new Dictionary { @@ -134,7 +134,7 @@ public class Main : BasePlugin } - public static Dictionary GetRoleColor => new Dictionary + internal static Dictionary GetRoleColor => new Dictionary { { 0, "#8cffff" }, { 1, "#f00202" }, @@ -149,8 +149,7 @@ public class Main : BasePlugin { 10, "#59f002" } }; - public static ManualLogSource Logger; - public static DebugMenu debugmenu { get; set; } = null; + internal static ManualLogSource? Logger; public override void Load() { @@ -199,13 +198,6 @@ public class Main : BasePlugin File.WriteAllText(Path.Combine(BetterDataManager.filePathFolder, "better-log.txt"), ""); BetterAmongUs.Logger.Log("Better Among Us successfully loaded!"); -#if DEBUG - ClassInjector.RegisterTypeInIl2Cpp(); - ClassInjector.RegisterTypeInIl2Cpp(); - debugmenu = AddComponent(); - AddComponent(); -#endif - string SupportedVersions = string.Empty; foreach (string text in SupportedAmongUsVersions.ToArray()) SupportedVersions += $"{text} "; @@ -217,7 +209,7 @@ public class Main : BasePlugin } } - public static void RegisterAllMonoBehavioursInAssembly() + internal static void RegisterAllMonoBehavioursInAssembly() { var assembly = Assembly.GetExecutingAssembly(); @@ -238,16 +230,16 @@ public class Main : BasePlugin } } - public static ConfigEntry? AntiCheat { get; private set; } - public static ConfigEntry? BetterNotifications { get; private set; } - public static ConfigEntry? ForceOwnLanguage { get; private set; } - public static ConfigEntry? ChatDarkMode { get; private set; } - public static ConfigEntry? ChatInGameplay { get; private set; } - public static ConfigEntry? LobbyPlayerInfo { get; private set; } - public static ConfigEntry? DisableLobbyTheme { get; private set; } - public static ConfigEntry? UnlockFPS { get; private set; } - public static ConfigEntry? ShowFPS { get; private set; } - public static ConfigEntry? CommandPrefix { get; set; } + internal static ConfigEntry? AntiCheat { get; private set; } + internal static ConfigEntry? BetterNotifications { get; private set; } + internal static ConfigEntry? ForceOwnLanguage { get; private set; } + internal static ConfigEntry? ChatDarkMode { get; private set; } + internal static ConfigEntry? ChatInGameplay { get; private set; } + internal static ConfigEntry? LobbyPlayerInfo { get; private set; } + internal static ConfigEntry? DisableLobbyTheme { get; private set; } + internal static ConfigEntry? UnlockFPS { get; private set; } + internal static ConfigEntry? ShowFPS { get; private set; } + internal static ConfigEntry? CommandPrefix { get; set; } private void LoadOptions() { AntiCheat = Config.Bind("Better Options", "AntiCheat", true); @@ -262,6 +254,6 @@ public class Main : BasePlugin CommandPrefix = Config.Bind("Client Options", "CommandPrefix", "/"); } - public static string GetDataPathToAmongUs() => Application.persistentDataPath; - public static string GetGamePathToAmongUs() => Path.GetDirectoryName(Application.dataPath) ?? Application.dataPath; + internal static string GetDataPathToAmongUs() => Application.persistentDataPath; + internal static string GetGamePathToAmongUs() => Path.GetDirectoryName(Application.dataPath) ?? Application.dataPath; }