diff --git a/src/Commands/AllCommandsCommand.cs b/src/Commands/AllCommandsCommand.cs
index ee366e3..4ea5902 100644
--- a/src/Commands/AllCommandsCommand.cs
+++ b/src/Commands/AllCommandsCommand.cs
@@ -1,5 +1,4 @@
using BetterAmongUs.Attributes;
-using BetterAmongUs.Enums;
using BetterAmongUs.Patches.Gameplay.UI.Chat;
namespace BetterAmongUs.Commands;
@@ -12,7 +11,7 @@ internal sealed class AllCommandsCommand : BaseCommand
internal override void Run()
{
- BaseCommand[] allNormalCommands = [.. allCommands.Where(cmd => cmd.Type == CommandType.Normal && cmd.ShowCommand())];
+ BaseCommand[] allNormalCommands = [.. allCommands.Where(cmd => cmd.IsEnabled())];
string list;
var open = "┌──────── ";
var mid = "├ ";
diff --git a/src/Commands/BaseCommand.cs b/src/Commands/BaseCommand.cs
index c856aee..aa9ff6f 100644
--- a/src/Commands/BaseCommand.cs
+++ b/src/Commands/BaseCommand.cs
@@ -1,7 +1,7 @@
using BetterAmongUs.Attributes;
using BetterAmongUs.Commands.Arguments;
-using BetterAmongUs.Enums;
using BetterAmongUs.Helpers;
+using BetterAmongUs.Modules.Support;
namespace BetterAmongUs.Commands;
@@ -15,11 +15,6 @@ internal abstract class BaseCommand
///
internal static readonly BaseCommand[] allCommands = [.. RegisterCommandAttribute.Instances];
- ///
- /// Gets the type of the command.
- ///
- internal virtual CommandType Type => CommandType.Normal;
-
///
/// Gets all names for this command (including short names).
///
@@ -107,4 +102,13 @@ internal abstract class BaseCommand
if (!onlyGetStr) Utils.AddChatPrivate($"{er}\n{error}");
return $"{er}\n{error}";
}
+
+ ///
+ /// Determines whether this command is enabled.
+ ///
+ /// True if the command is enabled; otherwise, false.
+ internal bool IsEnabled()
+ {
+ return ShowCommand() && !BAUModdedSupportFlags.HasFlag(BAUModdedSupportFlags.Disable_Command + Name);
+ }
}
\ No newline at end of file
diff --git a/src/Enums/CommandType.cs b/src/Enums/CommandType.cs
deleted file mode 100644
index 02da728..0000000
--- a/src/Enums/CommandType.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace BetterAmongUs.Enums;
-
-///
-/// Defines the types of commands available in the BetterAmongUs system.
-///
-internal enum CommandType
-{
- ///
- /// Standard command type.
- ///
- Normal,
-}
\ No newline at end of file
diff --git a/src/Interfaces/IReplayEvent.cs b/src/Interfaces/IReplayEvent.cs
index 3861795..460f554 100644
--- a/src/Interfaces/IReplayEvent.cs
+++ b/src/Interfaces/IReplayEvent.cs
@@ -1,6 +1,4 @@
-using System.Text.Json.Serialization;
-
-namespace BetterAmongUs.Interfaces;
+namespace BetterAmongUs.Interfaces;
///
/// Interface for replay events in BetterAmongUs.
@@ -10,7 +8,6 @@ public interface IReplayEvent
///
/// Gets the unique identifier for the replay event.
///
- [JsonIgnore]
string Id { get; }
///
diff --git a/src/Managers/BAUUpdateManager.cs b/src/Managers/BAUUpdateManager.cs
index 6f21da7..c63a75e 100644
--- a/src/Managers/BAUUpdateManager.cs
+++ b/src/Managers/BAUUpdateManager.cs
@@ -15,7 +15,9 @@ namespace BetterAmongUs.Managers;
///
internal sealed class BAUUpdateManager : MonoBehaviour
{
- private bool AmUpdateing;
+ private bool _updateing;
+ private GameObject? mainMenu;
+ private GameObject? ambience;
///
/// Gets the singleton instance of the UpdateManager.
@@ -68,7 +70,7 @@ internal sealed class BAUUpdateManager : MonoBehaviour
button.OnClick = new();
button.OnClick.AddListener(() =>
{
- if (AmUpdateing || WaitForRestart)
+ if (_updateing || WaitForRestart)
return;
this.StartCoroutine(CoPressDownload(doNotPress));
@@ -87,9 +89,6 @@ internal sealed class BAUUpdateManager : MonoBehaviour
}
}
- ///
- /// Unity Start method called when the component is initialized.
- ///
private void Start()
{
var oldDll = Assembly.GetExecutingAssembly().Location + ".old";
@@ -99,9 +98,6 @@ internal sealed class BAUUpdateManager : MonoBehaviour
}
}
- private GameObject? mainMenu;
- private GameObject? ambience;
-
///
/// Coroutine that handles the download process when the update button is pressed.
///
@@ -110,7 +106,7 @@ internal sealed class BAUUpdateManager : MonoBehaviour
[HideFromIl2Cpp]
private IEnumerator CoPressDownload(DoNotPressButton button)
{
- AmUpdateing = true;
+ _updateing = true;
button.pressedSprite.enabled = true;
button.unpressedSprite.enabled = false;
@@ -145,6 +141,6 @@ internal sealed class BAUUpdateManager : MonoBehaviour
Utils.ShowPopUp("Download link missing!");
}
- AmUpdateing = false;
+ _updateing = false;
}
}
\ No newline at end of file
diff --git a/src/Managers/CustomLoadingBarManager.cs b/src/Managers/CustomLoadingBarManager.cs
index 8204106..4d91acc 100644
--- a/src/Managers/CustomLoadingBarManager.cs
+++ b/src/Managers/CustomLoadingBarManager.cs
@@ -8,7 +8,7 @@ internal static class CustomLoadingBarManager
///
/// Gets the current loading bar instance.
///
- internal static AmongUsLoadingBar? LoadingBar => LoadingBarManager.Instance?.loadingBar;
+ internal static AmongUsLoadingBar? LoadingBar => LoadingBarManager.InstanceExists ? LoadingBarManager.Instance.loadingBar : null;
///
/// Toggles the loading bar visibility.
diff --git a/src/Patches/Gameplay/UI/Chat/ChatCommandsPatch.cs b/src/Patches/Gameplay/UI/Chat/ChatCommandsPatch.cs
index ec4adf8..26ad1f2 100644
--- a/src/Patches/Gameplay/UI/Chat/ChatCommandsPatch.cs
+++ b/src/Patches/Gameplay/UI/Chat/ChatCommandsPatch.cs
@@ -1,6 +1,5 @@
using BetterAmongUs.Commands;
using BetterAmongUs.Data.Config;
-using BetterAmongUs.Enums;
using BetterAmongUs.Helpers;
using BetterAmongUs.Modules;
using BetterAmongUs.Modules.Support;
@@ -270,7 +269,7 @@ internal static class ChatCommandsPatch
{
// First try exact match
var directNormalMatch = BaseCommand.allCommands
- .FirstOrDefault(c => FilterCommand(c, CommandType.Normal) &&
+ .FirstOrDefault(c => c.IsEnabled() &&
c.Names.Any(name => string.Equals(name, typedCommand, StringComparison.OrdinalIgnoreCase)));
if (directNormalMatch != null)
return directNormalMatch;
@@ -278,17 +277,11 @@ internal static class ChatCommandsPatch
// Then try partial match
var closestNormalCommand = BaseCommand.allCommands
.OrderBy(c => c.Name)
- .FirstOrDefault(c => FilterCommand(c, CommandType.Normal) &&
+ .FirstOrDefault(c => c.IsEnabled() &&
c.Names.Any(name => name.StartsWith(typedCommand, StringComparison.OrdinalIgnoreCase)));
if (closestNormalCommand != null)
return closestNormalCommand;
return null;
}
-
- private static bool FilterCommand(BaseCommand command, CommandType commandType)
- {
- // Check if command is enabled and not disabled by other mods
- return command.Type == commandType && command.ShowCommand() && !BAUModdedSupportFlags.HasFlag(BAUModdedSupportFlags.Disable_Command + command.Name);
- }
}
\ No newline at end of file
diff --git a/src/Structs/UserInfo.cs b/src/Structs/UserInfo.cs
index 263e568..6f4f34e 100644
--- a/src/Structs/UserInfo.cs
+++ b/src/Structs/UserInfo.cs
@@ -40,7 +40,7 @@ internal sealed class UserInfo(string playerName, string hashPuid, string friend
return (true, Reason);
}
- return (false, "");
+ return (false, string.Empty);
}
///