Esempio n. 1
0
        private void ComboBoxVotingTime_SelectedIndexChanged(object sender, EventArgs e)
        {
            VotingTimeComboBoxItem item = (VotingTimeComboBoxItem)comboBoxVotingTime.SelectedItem;

            Config.Instance.TwitchVotingTime = item.VotingTime;
        }
Esempio n. 2
0
        private void TickTwitchHost()
        {
            if (!Config.Instance.Enabled)
            {
                return;
            }

            if (Config.Instance.IsTwitchVoting)
            {
                if (progressBarTwitch.Maximum != Config.Instance.TwitchVotingTime)
                {
                    progressBarTwitch.Maximum = Config.Instance.TwitchVotingTime;
                }

                // Hack to fix Windows' broken-ass progress bar handling
                int value = Math.Max(1, (int)Stopwatch.ElapsedMilliseconds);
                progressBarTwitch.Value = Math.Max(progressBarTwitch.Maximum - value, 0);
                progressBarTwitch.Value = Math.Max(progressBarTwitch.Maximum - value - 1, 0);

                if (Stopwatch.ElapsedMilliseconds - elapsedCount > 100)
                {
                    long remaining  = Math.Max(0, Config.Instance.TwitchVotingTime - Stopwatch.ElapsedMilliseconds);
                    int  iRemaining = (int)((float)remaining / Config.Instance.TwitchVotingTime * 1000f);

                    ProcessHooker.SendEffectToGame("time", iRemaining.ToString());

                    elapsedCount = (int)Stopwatch.ElapsedMilliseconds;
                }

                if (Stopwatch.ElapsedMilliseconds >= Config.Instance.TwitchVotingTime)
                {
                    ProcessHooker.SendEffectToGame("time", "0");
                    elapsedCount = 0;

                    progressBarTwitch.Value   = 0;
                    progressBarTwitch.Maximum = Config.Instance.TwitchVotingCooldown;

                    Stopwatch.Restart();
                    Config.Instance.IsTwitchVoting = false;

                    labelTwitchCurrentMode.Text = "Current Mode: Cooldown";

                    VotingCooldownComboBoxItem item = (VotingCooldownComboBoxItem)comboBoxVotingCooldown.SelectedItem;

                    AbstractEffect effect = Twitch.GetRandomVotedEffect(out string username);

                    Twitch.SetVoting(false, item.VotingCooldown, item.Text, effect, username);
                    if (!Config.Instance.TwitchDontActivateEffects)
                    {
                        CallEffect(effect);
                    }
                }
            }
            else
            {
                if (progressBarTwitch.Maximum != Config.Instance.TwitchVotingCooldown)
                {
                    progressBarTwitch.Maximum = Config.Instance.TwitchVotingCooldown;
                }

                // Hack to fix Windows' broken-ass progress bar handling
                int value = Math.Max(1, (int)Stopwatch.ElapsedMilliseconds);
                progressBarTwitch.Value = Math.Min(value, progressBarTwitch.Maximum);
                progressBarTwitch.Value = Math.Min(value, progressBarTwitch.Maximum);

                if (!Config.Instance.TwitchAllowVoting && Stopwatch.ElapsedMilliseconds - elapsedCount > 100)
                {
                    long remaining  = Math.Max(0, Config.Instance.TwitchVotingTime - Stopwatch.ElapsedMilliseconds);
                    int  iRemaining = (int)((float)remaining / Config.Instance.TwitchVotingTime * 1000f);

                    ProcessHooker.SendEffectToGame("time", iRemaining.ToString());

                    elapsedCount = (int)Stopwatch.ElapsedMilliseconds;
                }

                if (Stopwatch.ElapsedMilliseconds >= Config.Instance.TwitchVotingCooldown)
                {
                    if (Config.Instance.TwitchAllowVoting)
                    {
                        progressBarTwitch.Value = progressBarTwitch.Maximum = Config.Instance.TwitchVotingTime;

                        Config.Instance.IsTwitchVoting = true;

                        labelTwitchCurrentMode.Text = "Current Mode: Voting";

                        VotingTimeComboBoxItem item = (VotingTimeComboBoxItem)comboBoxVotingTime.SelectedItem;

                        Twitch.SetVoting(true, item.VotingTime, item.Text);
                    }
                    else
                    {
                        ProcessHooker.SendEffectToGame("time", "0");
                        elapsedCount = 0;

                        progressBarTwitch.Value   = 0;
                        progressBarTwitch.Maximum = Config.Instance.TwitchVotingCooldown;

                        labelTwitchCurrentMode.Text = "Current Mode: Cooldown";

                        VotingCooldownComboBoxItem item = (VotingCooldownComboBoxItem)comboBoxVotingCooldown.SelectedItem;

                        AbstractEffect effect = Twitch.GetRandomVotedEffect(out string username);

                        Twitch.SetVoting(false, item.VotingCooldown, item.Text, effect, username);
                        if (!Config.Instance.TwitchDontActivateEffects)
                        {
                            CallEffect(effect);
                        }
                    }
                    Stopwatch.Restart();
                }
            }
        }