Пример #1
0
        public async Task <PlayerVotes> GetPlayerVotes(string steamId)
        {
            PlayerVotes requests = new PlayerVotes();

            if (_type == ClientType.UnturnedServers || _type == ClientType.Both)
            {
                string result = new WebClient().DownloadString(ServersNetGetUrl(steamId));
                bool   worked = int.TryParse(result, out int endCode);
                if (!worked)
                {
                    endCode = 0;
                }
                PlayerGetVoteRequest request = new PlayerGetVoteRequest(steamId, endCode, ClientType.UnturnedServers);
                requests.Add(request);
            }

            if (_type == ClientType.UnturnedSl || _type == ClientType.Both)
            {
                string result = new WebClient().DownloadString(SlGetUrl(steamId));
                bool   worked = int.TryParse(result, out int endCode);
                if (!worked)
                {
                    endCode = 0;
                }
                PlayerGetVoteRequest request = new PlayerGetVoteRequest(steamId, endCode, ClientType.UnturnedSl);
                requests.Add(request);
            }

            return(requests);
        }
Пример #2
0
        protected override async UniTask OnExecuteAsync()
        {
            PlayerVotes requests = await _voting.GetPlayerVotes((UnturnedUser)Context.Actor);

            foreach (PlayerGetVoteRequest request in requests)
            {
                ClientType type = requests[request];
                if (request.HasVoted && !request.HasClaimed)
                {
                    await Context.Actor.PrintMessageAsync(_localizer[$"voting:rewards:hasVoted:{type.String()}"]);

                    await _rewardService.GiveReward(Context.Actor as IUser);
                }
            }
        }