From b97ada22bc16511c8adc900f3b5dedc3b427471b Mon Sep 17 00:00:00 2001 From: xChipseq Date: Fri, 29 Aug 2025 13:58:06 +0200 Subject: [PATCH] allow the duration to be 0 --- MiraAPI.Example/Buttons/ThinkButton.cs | 2 +- MiraAPI/Hud/CustomActionButton.cs | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/MiraAPI.Example/Buttons/ThinkButton.cs b/MiraAPI.Example/Buttons/ThinkButton.cs index 95ce73a..505365d 100644 --- a/MiraAPI.Example/Buttons/ThinkButton.cs +++ b/MiraAPI.Example/Buttons/ThinkButton.cs @@ -7,7 +7,7 @@ namespace MiraAPI.Example.Buttons; public class ThinkButton : CustomActionButton { public override string Name => "Think"; - public override float Cooldown => 10f; + public override float Cooldown => 15f; public override float EffectDuration => 10f; public override bool EffectCancelable => true; public override LoadableAsset Sprite => ExampleAssets.ExampleButton; diff --git a/MiraAPI/Hud/CustomActionButton.cs b/MiraAPI/Hud/CustomActionButton.cs index 78ebd4d..4985aab 100644 --- a/MiraAPI/Hud/CustomActionButton.cs +++ b/MiraAPI/Hud/CustomActionButton.cs @@ -431,7 +431,8 @@ public abstract class CustomActionButton /// A value that represents whether the button should light up or not. public virtual bool CanUse() { - return PlayerControl.LocalPlayer.moveable && (EffectActive || !LimitedUses || UsesLeft > 0); + return PlayerControl.LocalPlayer.moveable && + ((EffectActive && EffectCancelable) || (!EffectActive && (!LimitedUses || UsesLeft > 0))); } /// @@ -503,7 +504,7 @@ public abstract class CustomActionButton Timer -= Time.deltaTime; } } - else if (HasEffect && EffectActive) + else if (HasEffect && EffectActive && EffectDuration > 0) { EffectActive = false; Timer = Cooldown; @@ -521,7 +522,7 @@ public abstract class CustomActionButton Button!.SetDisabled(); } - if (EffectActive) + if (EffectActive && EffectDuration > 0) { Button.SetFillUp(Timer, EffectDuration);