Fix DefaultKeybind name + remove requirement

By default, buttons will use no keybind, and will not add a new keybind option in doing so.
This commit is contained in:
Atony committed 2025-08-17 20:40:03 -05:00
1 parent 453259df98
commit ce15e93e59
6 files changed
+12 -7

No files matched your search

@@ -20,7 +20,7 @@ public class FreezeButton : CustomActionButton<PlayerControl>
public override int MaxUses => (int)OptionGroupSingleton<FreezerRoleSettings>.Instance.FreezeUses;
public override LoadableAsset<Sprite> Sprite => ExampleAssets.ExampleButton;
public override KeyboardKeyCode Defaultkeybind => KeyboardKeyCode.T;
public override KeyboardKeyCode DefaultKeybind => KeyboardKeyCode.T;
public override ModifierKey Modifier1 => ModifierKey.Control;
protected override void OnClick()
+1 -1
View File
@@ -16,7 +16,7 @@ public class MeetingButton : CustomActionButton
public override int MaxUses => 3;
public override LoadableAsset<Sprite> Sprite => ExampleAssets.ExampleButton;
public override KeyboardKeyCode Defaultkeybind => KeyboardKeyCode.P;
public override KeyboardKeyCode DefaultKeybind => KeyboardKeyCode.P;
public override ModifierKey Modifier1 => ModifierKey.Control;
public override ModifierKey Modifier2 => ModifierKey.Shift;
@@ -13,7 +13,7 @@ public class NeutralKillerButton : CustomActionButton
public override string Name => "Win Game";
public override float Cooldown => 0f;
public override LoadableAsset<Sprite> Sprite => ExampleAssets.ExampleButton;
public override KeyboardKeyCode Defaultkeybind => KeyboardKeyCode.K;
public override KeyboardKeyCode DefaultKeybind => KeyboardKeyCode.K;
protected override void OnClick()
{
CustomGameOver.Trigger<NeutralKillerGameOver>([PlayerControl.LocalPlayer.Data]);
@@ -22,7 +22,7 @@ public class TeleportButton : CustomActionButton
public override LoadableAsset<Sprite> Sprite => ExampleAssets.TeleportButton;
public override Color TextOutlineColor => new Color32(221, 176, 152, 255);
public static bool IsZoom { get; private set; }
public override KeyboardKeyCode Defaultkeybind => KeyboardKeyCode.M;
public override KeyboardKeyCode DefaultKeybind => KeyboardKeyCode.M;
public override bool Enabled(RoleBehaviour? role)
{
return role is TeleporterRole;
+1 -1
View File
@@ -56,7 +56,7 @@ public abstract class CustomActionButton
/// <summary>
/// Gets or sets the current key binding for this button.
/// </summary>
public abstract KeyboardKeyCode Defaultkeybind { get; }
public virtual KeyboardKeyCode DefaultKeybind { get; } = KeyboardKeyCode.None;
/// <summary>
/// The first optional modifier key (e.g., Control, Shift, Alt) that must be held with the main key to activate the button.
+7 -2
View File
@@ -18,6 +18,7 @@ using MiraAPI.Roles;
using MiraAPI.Utilities;
using Reactor.Networking;
using Reactor.Utilities;
using Rewired;
using UnityEngine;
namespace MiraAPI.PluginLoading;
@@ -137,9 +138,13 @@ public sealed class MiraPluginManager
foreach (var button in CustomButtonManager.Buttons)
{
KeybindManager.Register($"{button.Name}_Keybind", $"Keybind for {button.Name}", button.Defaultkeybind, button.ClickHandler, modifier1: button.Modifier1, modifier2: button.Modifier2, modifier3: button.Modifier3);
if (button.DefaultKeybind is KeyboardKeyCode.None)
{
continue;
}
KeybindManager.Register($"{button.Name}_Keybind", $"Keybind for {button.Name}", button.DefaultKeybind, button.ClickHandler, modifier1: button.Modifier1, modifier2: button.Modifier2, modifier3: button.Modifier3);
Logger<MiraApiPlugin>.Info($"Registered keybind for button '{button.GetType().Name}' with default key {button.Defaultkeybind}.");
Logger<MiraApiPlugin>.Info($"Registered keybind for button '{button.GetType().Name}' with default key {button.DefaultKeybind}.");
}
};
}