using MiraAPI.Example.Modifiers.Freezer; using MiraAPI.Example.Options.Roles; using MiraAPI.Example.Roles; using MiraAPI.GameOptions; using MiraAPI.Hud; using MiraAPI.Modifiers; using MiraAPI.Utilities; using MiraAPI.Utilities.Assets; using Rewired; using UnityEngine; namespace MiraAPI.Example.Buttons.Freezer; public class FreezeButton : CustomActionButton { public override string Name => "Freeze"; public override float Cooldown => OptionGroupSingleton.Instance.FreezeDuration; public override int MaxUses => (int)OptionGroupSingleton.Instance.FreezeUses; public override LoadableAsset Sprite => ExampleAssets.ExampleButton; public override KeyboardKeyCode Defaultkeybind => KeyboardKeyCode.T; public override ModifierKey Modifier1 => ModifierKey.Control; protected override void OnClick() { Target?.RpcAddModifier(); } public override PlayerControl? GetTarget() { return PlayerControl.LocalPlayer.GetClosestPlayer(true, Distance); } public override void SetOutline(bool active) { Target?.cosmetics.SetOutline(active, new Il2CppSystem.Nullable(Palette.Blue)); } public override bool IsTargetValid(PlayerControl? target) { return true; } public override bool Enabled(RoleBehaviour? role) { return role is FreezerRole; } }