diff --git a/MiraAPI/MeetingAbilities/MeetingButtonManager.cs b/MiraAPI/MeetingAbilities/MeetingButtonManager.cs index b45e00b..9f44fcf 100644 --- a/MiraAPI/MeetingAbilities/MeetingButtonManager.cs +++ b/MiraAPI/MeetingAbilities/MeetingButtonManager.cs @@ -102,8 +102,9 @@ public static class MeetingButtonManager { var btn = ability.CreateButton(playerVoteArea); btn.transform.SetParent(playerVoteArea.Buttons.transform); - playerVoteArea.CancelButton.transform.SetAsFirstSibling(); } + var btn2 = ability.CreateButton(meetingHud.SkipVoteButton); + btn2.transform.SetParent(meetingHud.SkipVoteButton.Buttons.transform); if (ability.UsesMode == MeetingButtonUsesMode.PerMeeting) ability.UsesLeft = ability.MaxUses; if (ability is MultiTargetMeetingButton multiAbility) multiAbility.Targets = new(); @@ -113,5 +114,10 @@ public static class MeetingButtonManager Error($"Failed to create targeted meeting button {ability.Name}: {e.Message}"); } } + foreach (var playerVoteArea in meetingHud.playerStates) + { + playerVoteArea.CancelButton.transform.SetAsFirstSibling(); + } + meetingHud.SkipVoteButton.CancelButton.transform.SetAsFirstSibling(); } } diff --git a/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs b/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs index 324e7c7..d1d6643 100644 --- a/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs +++ b/MiraAPI/MeetingAbilities/TargetedMeetingButton.cs @@ -150,6 +150,6 @@ public abstract class TargetedMeetingButton /// Whether the target is valid or not. public virtual bool IsTargetValid(PlayerVoteArea playerVoteArea) { - return playerVoteArea != null && playerVoteArea.PlayerId.Value != PlayerControl.LocalPlayer.Data.PlayerId; + return playerVoteArea != null && playerVoteArea.PlayerId.Value != PlayerControl.LocalPlayer.Data.PlayerId && playerVoteArea.PlayerId.Value != PlayerVoteArea.SkippedVote; } }