private void ComboBoxVotingCooldown_SelectedIndexChanged(object sender, EventArgs e) { VotingCooldownComboBoxItem item = (VotingCooldownComboBoxItem)comboBoxVotingCooldown.SelectedItem; Config.Instance.TwitchVotingCooldown = item.VotingCooldown; }
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(); } } }