Add PopulateResultsEvent.cs

This commit is contained in:
ang-xd committed 2025-03-01 15:31:48 -05:00
1 parent 989b511276
commit 664f8cb2e8
3 files changed
+35

No files matched your search

+2
View File
@@ -35,6 +35,7 @@ public static class ExampleEventHandlers
});
}
// If you want to add extra votes to a player, do something like this.
[RegisterEvent]
public static void StartMeetingEvent(StartMeetingEvent _)
{
@@ -47,6 +48,7 @@ public static class ExampleEventHandlers
}
}
// Example of using the Voting API to make a role similar to the Prosecutor from Town of Us.
[RegisterEvent(15)]
public static void HandleVoteEvent(HandleVoteEvent @event)
{
@@ -0,0 +1,25 @@
using System.Collections.Generic;
using MiraAPI.Voting;
namespace MiraAPI.Events.Vanilla.Meeting.Voting;
/// <summary>
/// Called in VotingUtils.HandlePopulateResults.
/// Cancelling is NOT advised but if you do plan on cancelling, please ensure you account for displaying ALL player's votes.
/// </summary>
public class PopulateResultsEvent : MiraCancelableEvent
{
/// <summary>
/// Gets a list of networked votes.
/// </summary>
public List<CustomVote> Votes { get; }
/// <summary>
/// Initializes a new instance of the <see cref="PopulateResultsEvent"/> class.
/// </summary>
/// <param name="votes">The list of votes.</param>
public PopulateResultsEvent(List<CustomVote> votes)
{
Votes = votes;
}
}
+8
View File
@@ -111,6 +111,14 @@ public static class VotingUtils
/// <param name="votes">The list of networked votes.</param>
public static void HandlePopulateResults(List<CustomVote> votes)
{
PopulateResultsEvent @event = new PopulateResultsEvent(votes);
MiraEventManager.InvokeEvent(@event);
if (@event.IsCancelled)
{
return;
}
MeetingHud.Instance.TitleText.text =
DestroyableSingleton<TranslationController>.Instance.GetString(
StringNames.MeetingVotingResults,