# Source URL: https://dev.epicgames.com/community/snippets/2rrO/fortnite-voting-system
# Local doc: epic-docs/community/snippets/2rrO/fortnite-voting-system.md
using { /Fortnite.com/Devices }
using {/Fortnite.com/Playspaces}
using {/Fortnite.com/Characters}
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
# A Verse-authored creative device that can be placed in a level
vote_manager_device := class(creative_device):
var CurrentClassVotes : [player]int = map{}
@editable TotalClassCount : int = 4
@editable VoteClassOptionDevices : []vote_class_option_device = array{}
# Runs when the device is started in a running game
OnBegin<override>()<suspends>:void=
return
GetWinnerAndSetClass(): void =
WinningClass := GetWinningClass()
SelectWinningClassAndSend(WinningClass)
VoteForClass(AgentIn : agent, ClassIn : int):void =
if (Player := player[AgentIn]):
var NewMap : [player]int = map{}
if (CurrentClassVotes[Player]):
for (Key -> Value : CurrentClassVotes, Key <> Player):
if {set NewMap[Key] = Value}
if {set NewMap[Player] = ClassIn}
set CurrentClassVotes = NewMap
else:
if {set CurrentClassVotes[Player] = ClassIn}
return
Verse Library
verse
01 Snippet
Custom device that tracks player votes, calculates the winning option, and handles game state selection.
extracted-snippets/community/snippets/2rrO/fortnite-voting-system/01-snippet.verse
Sign in free to read the full source 🌴
This Verse Library file is members-only. Create a free account to view the complete source and download the .verse file.