// Written by Marco. // Mapvote manager client. Class xVotingReplication extends ReplicationInfo; struct FGameTypeEntry { var string GameName,GameShortName,Prefix; }; struct FMapEntry { var string MapName,MapTitle; var int UpVotes,DownVotes,Sequence,NumPlays,History; }; struct FVotedMaps { var int GameIndex,MapIndex,NumVotes; }; var array GameModes; var array Maps; var array ActiveVotes; var PlayerController PlayerOwner; var xVotingHandlerBase VoteHandler; var byte DownloadStage; var int DownloadIndex,ClientCurrentGame; var int CurrentVote[2]; var transient float RebunchTimer,NextVoteTimer; var bool bClientConnected,bAllReceived,bClientRanked; var transient bool bListDirty; var localized string MaplistRecvMsg; var localized string ClientMapVoteMsg; var localized string InitMapVoteMsg; var localized string TwoMinRemainMsg; var localized string OneMinRemainMsg; var localized string XSecondsRemainMsg; var localized string UnknownPlayerName; var localized string VotedForKnownMapMsg; var localized string VotedForUnkownMapMsg; var localized string AdminForcedKnownMapswitchMsg; var localized string AdminForcedUnknownMapswitchMsg; var localized string KnownMapSwitchMsg; var localized string UnknownMapSwitchMsg; function PostBeginPlay() { PlayerOwner = PlayerController(Owner); RebunchTimer = WorldInfo.TimeSeconds+5.f; } function Tick( float Delta ) { if( PlayerOwner==None || PlayerOwner.Player==None ) { Destroy(); return; } if( !bClientConnected ) { if( RebunchTimer