From eb4bff1834693ec4eebe0bdc669af414fed8058f Mon Sep 17 00:00:00 2001 From: wanderingpix Date: Fri, 21 Aug 2026 11:44:30 +0100 Subject: [PATCH] Document meeting abilities --- MiraAPI.Example/MeetingAbilities/ShootButton.cs | 2 ++ MiraAPI/MeetingAbilities/MeetingAbilityBehaviour.cs | 4 ++-- MiraAPI/MeetingAbilities/TargetedMeetingButton.cs | 10 ++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/MiraAPI.Example/MeetingAbilities/ShootButton.cs b/MiraAPI.Example/MeetingAbilities/ShootButton.cs index 76b4596..5f72424 100644 --- a/MiraAPI.Example/MeetingAbilities/ShootButton.cs +++ b/MiraAPI.Example/MeetingAbilities/ShootButton.cs @@ -10,6 +10,8 @@ public class ShootButton : TargetedMeetingButton public override int MaxUses => 0; + public override float InitialCooldown => 99; + public override float Cooldown => 10; public override LoadableAsset Sprite => ExampleAssets.SharpshootButton; diff --git a/MiraAPI/MeetingAbilities/MeetingAbilityBehaviour.cs b/MiraAPI/MeetingAbilities/MeetingAbilityBehaviour.cs index f19f37a..9d7160c 100644 --- a/MiraAPI/MeetingAbilities/MeetingAbilityBehaviour.cs +++ b/MiraAPI/MeetingAbilities/MeetingAbilityBehaviour.cs @@ -53,7 +53,7 @@ public class MeetingAbilityBehaviour(IntPtr cppPtr) : MonoBehaviour(cppPtr) public void Update() { if (!_init) return; - if (_button.Timer < 0) + if (_button.Timer < 0.01f) { Renderer.material.SetFloat("_Desat", 0.0f); CooldownText.text = string.Empty; @@ -65,7 +65,7 @@ public class MeetingAbilityBehaviour(IntPtr cppPtr) : MonoBehaviour(cppPtr) CooldownText.text = _button.Timer.ToString(_button.CooldownTimerFormatString, NumberFormatInfo.InvariantInfo); UsesText.text = string.Empty; } - SetFillUp(_button.Timer, _button.Cooldown); + SetFillUp(_button.Timer, _button.InitialCooldown); } public void SetFillUp(float timer, float maxTimer) diff --git a/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs b/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs index 6e831e8..a6b448f 100644 --- a/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs +++ b/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs @@ -32,7 +32,13 @@ public abstract class TargetedMeetingButton public bool LimitedUses => MaxUses != 0; /// - /// Gets the cooldown time for this button. + /// Gets the cooldown time for this button upon meeting start. + /// Defaults to unless overridden. + /// + public virtual float InitialCooldown => Cooldown; + + /// + /// Gets the cooldown time for this button after being used. /// public abstract float Cooldown { get; } @@ -91,7 +97,7 @@ public abstract class TargetedMeetingButton btn.OnClick.AddListener(new System.Action(() => ClickHandler(playerVoteArea))); var abilityBehaviour = btn.gameObject.AddComponent(); abilityBehaviour.Initialize(this, playerVoteArea); - Timer = Cooldown; + Timer = InitialCooldown; return abilityBehaviour; }