Ejemplo n.º 1
0
        internal void HandleVote(VoteResult result)
        {
            Player p = result.caller;

#if DEBUG
            Console.WriteLine("Webserver returns: " + result.result);
#endif

            switch (result.result)
            {
            case "0":
                Say(result.caller, m_StringLocalizer["not_yet_voted", result.service.Name], MsgColor, m_Configuration["MessageFailedIconUrl"]);
                break;

            case "1":
                if (result.giveItemDirectly)
                {
                    OnPlayerVoted?.Invoke(result.caller, result.apidefinition);
                    new VotifierWebclient().DownloadStringAsync(new Uri(string.Format(result.apidefinition.ReportSuccess, result.service.APIKey, result.caller.channel.owner.playerID.steamID.m_SteamID.ToString())));
                    return;
                }
                else
                {
                    Say(result.caller, m_StringLocalizer["vote_pending_message", result.service.Name], MsgColor, m_Configuration["MessageFailedIconUrl"]);
                    return;
                }

            case "2":
                Say(result.caller, m_StringLocalizer["vote_due_message", result.service.Name], MsgColor, m_Configuration["MessageFailedIconUrl"]);
                break;
            }
        }
Ejemplo n.º 2
0
        private void Wc_DownloadStringCompleted(DownloadStringCompletedEventArgs e, Player _caller, Service _service, ServiceDefinition _apidefinition, bool _giveItemDirectly)
        {
            VoteResult v = new VoteResult()
            {
                caller = _caller, result = e.Result, apidefinition = _apidefinition, service = _service, giveItemDirectly = _giveItemDirectly
            };

            lock (queue)
            {
                queue.Enqueue(v);
            }
        }
Ejemplo n.º 3
0
 private IEnumerator <WaitForSeconds> CheckQueue()
 {
     while (Loaded)
     {
         if (VotifierPlugin.Instance.queue.Count > 0)
         {
             VoteResult v = VotifierPlugin.Instance.queue.Dequeue();
             VotifierPlugin.Instance.HandleVote(v);
         }
         yield return(new WaitForSeconds(0.1f));
     }
 }