Ejemplo n.º 1
0
        public override void DoWindowContents(Listing_Standard listing)
        {
            listing.Label("Let's make sure your connection details are correct.");

            if (Toolkit.client != null)
            {
                if (Toolkit.client.Connected)
                {
                    listing.Label("<color=#21D80E>" + "TwitchToolkitConnected".Translate() + "</color>");
                    if (listing.CenteredButton("TwitchToolkitDisconnect".Translate()))
                    {
                        Toolkit.client.Disconnect();
                    }
                    if (listing.CenteredButton("TwitchToolkitReconnect".Translate()))
                    {
                        Toolkit.client.Reconnect();
                    }
                }
                else
                {
                    if (listing.CenteredButton("TwitchToolkitConnect".Translate()))
                    {
                        ToolkitIRC.Reset();
                    }
                }
            }
            else
            {
                listing.Label("Need new connection");
                if (listing.CenteredButton("TwitchToolkitNewConnection".Translate()))
                {
                    ToolkitIRC.Reset();
                }
            }

            listing.Gap();

            if (!Helper.ModActive)
            {
                listing.Label("<b>Commands will not be responded to till you are ingame</b>");
            }

            listing.Gap();

            if (Toolkit.client != null && Toolkit.client.Connected)
            {
                listing.TextEntry(string.Join("\r\n", Toolkit.client.MessageLog), 6);
            }
        }
Ejemplo n.º 2
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("Allow viewers to !buy ticket to join name queue?", ref ToolkitSettings.EnableViewerQueue);
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("Cost to join queue:", ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            optionsListing.Label("Special Viewers");

            optionsListing.Gap();
            optionsListing.Label("<color=#D9BB25>Subscribers</color>");

            string subExtraCoinBuffer      = ToolkitSettings.SubscriberExtraCoins.ToString();
            string subCoinMultiplierBuffer = ToolkitSettings.SubscriberCoinMultiplier.ToString();
            string subExtraVotesBuffer     = ToolkitSettings.SubscriberExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.SubscriberExtraCoins, ref subExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.SubscriberCoinMultiplier, ref subCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.SubscriberExtraVotes, ref subExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.Label("<color=#5F49F2>VIPs</color>");

            string vipExtraCoinBuffer      = ToolkitSettings.VIPExtraCoins.ToString();
            string vipCoinMultiplierBuffer = ToolkitSettings.VIPCoinMultiplier.ToString();
            string vipExtraVotesBuffer     = ToolkitSettings.VIPExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.VIPExtraCoins, ref vipExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.VIPCoinMultiplier, ref vipCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.VIPExtraVotes, ref vipExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.Label("<color=#238C48>Mods</color>");

            string modExtraCoinBuffer      = ToolkitSettings.ModExtraCoins.ToString();
            string modCoinMultiplierBuffer = ToolkitSettings.ModCoinMultiplier.ToString();
            string modExtraVotesBuffer     = ToolkitSettings.ModExtraVotes.ToString();

            optionsListing.TextFieldNumericLabeled("Extra coins", ref ToolkitSettings.ModExtraCoins, ref modExtraCoinBuffer, 0, 100);
            optionsListing.TextFieldNumericLabeled <float>("Coin bonus multiplier", ref ToolkitSettings.ModCoinMultiplier, ref modCoinMultiplierBuffer, 1f, 5f);
            optionsListing.TextFieldNumericLabeled("Extra votes", ref ToolkitSettings.ModExtraVotes, ref modExtraVotesBuffer, 0, 100);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (optionsListing.CenteredButton("Edit Viewers"))
            {
                Type type = typeof(Window_Viewers);
                Find.WindowStack.TryRemove(type);

                Window window = new Window_Viewers();
                Find.WindowStack.Add(window);
            }
        }
Ejemplo n.º 3
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("TwitchToolkitStreamlabsSync".Translate(), ref ToolkitSettings.SyncStreamLabs);

            optionsListing.Gap();

            //optionsListing.CheckboxLabeled("TwitchToolkitStreamelementsSync".Translate(), ref ToolkitSettings.SyncStreamElements);

            optionsListing.Label("Temp Stream Elements - WILL UPDATE LATER");
            if (optionsListing.CenteredButton("TwitchToolkitImportStreamElements".Translate()))
            {
                StreamElements.ImportPoints();
            }

            if (optionsListing.CenteredButton("TwitchToolkitExportStreamElements".Translate()))
            {
                StreamElements.SyncViewerStatsToWeb();
            }
        }
Ejemplo n.º 4
0
        public override void DoWindowContents(Rect inRect)
        {
            Listing_Standard listing = new Listing_Standard();

            listing.Begin(inRect);

            Text.Font = GameFont.Medium;
            listing.Label("Toolkit First Time Setup - Step " + (stepIterator + 1) + " of " + installSteps.Count);
            Text.Font = GameFont.Small;
            listing.GapLine();
            listing.Gap();

            if (stepIterator == 0 && listing.ButtonTextLabeled("Skip First Time Setup", "Skip"))
            {
                InstallationComplete();
            }

            listing.Gap();

            if (currentStep != null)
            {
                currentStep.DoWindowContents(listing);
            }

            listing.Gap();

            if (stepIterator != installSteps.Count && stepIterator + 1 < installSteps.Count && listing.ButtonTextLabeled("Continue to next step", "Next"))
            {
                GetNextStep();
            }

            if (stepIterator != 0 && listing.ButtonTextLabeled("Go back to previous step", "Back"))
            {
                GetPrevStep();
            }

            if (stepIterator + 1 == installSteps.Count)
            {
                listing.Gap(24);

                listing.GapLine();

                if (listing.CenteredButton("Complete Setup"))
                {
                    InstallationComplete();
                }
            }

            listing.End();
        }
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("Cost to join queue:", ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (optionsListing.CenteredButton("Edit Viewers"))
            {
                Type type = typeof(Window_Viewers);
                Find.WindowStack.TryRemove(type);

                Window window = new Window_Viewers();
                Find.WindowStack.Add(window);
            }
        }
Ejemplo n.º 6
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.CheckboxLabeled("TwitchToolkitViewerColonistQueue".Translate(), ref ToolkitSettings.ViewerNamedColonistQueue);
            optionsListing.CheckboxLabeled("Charge viewers to join queue?", ref ToolkitSettings.ChargeViewersForQueue);
            optionsListing.AddLabeledNumericalTextField("TwitchToolkitStartingBalance".Translate(), ref ToolkitSettings.CostToJoinQueue, 0.8f);

            optionsListing.Gap();
            optionsListing.GapLine();

            if (!resetCoinsWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersCoinsOne".Translate()))
            {
                resetCoinsWarning = true;
            }
            if (resetCoinsWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersCoinsTwo".Translate()))
            {
                Viewers.ResetViewersCoins();
                resetCoinsWarning = false;
            }

            if (!resetKarmaWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersKarmaOne".Translate()))
            {
                resetKarmaWarning = true;
            }
            if (resetKarmaWarning && optionsListing.CenteredButton("TwitchToolkitResetViewersKarmaTwo".Translate()))
            {
                Viewers.ResetViewersKarma();
                resetKarmaWarning = false;
            }

            if (optionsListing.CenteredButton("TwitchToolkitKarmaRound".Translate()))
            {
                Viewers.AwardViewersCoins();
            }
            if (optionsListing.CenteredButton("TwitchToolkitRefreshViewers".Translate()))
            {
                Viewers.RefreshViewers();
            }
        }
Ejemplo n.º 7
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.AddLabeledTextField("TwitchToolkitChannel".Translate(), ref ToolkitSettings.Channel);
            optionsListing.AddLabeledTextField("TwitchToolkitUsername".Translate(), ref ToolkitSettings.Username);

            if (oauthWarningAccepted)
            {
                optionsListing.AddLabeledTextField("TwitchToolkitOauthKey".Translate(), ref ToolkitSettings.OAuth);
                if (optionsListing.ButtonTextLabeled("TwitchToolkitHideOauth".Translate(), "TwitchToolkitHideOauthButton".Translate()))
                {
                    oauthWarningAccepted = false;
                }
            }

            if (!oauthWarningAccepted)
            {
                if (optionsListing.ButtonTextLabeled("TwitchToolkitOauthWarning".Translate(), "TwitchToolkitOauthUnderstand".Translate()))
                {
                    oauthWarningAccepted = true;
                }
            }

            optionsListing.Gap();

            if (optionsListing.CenteredButton("TwitchToolkitGetNewOauthKey".Translate()))
            {
                Application.OpenURL("https://twitchapps.com/tmi/");
            }

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("TwitchToolkitAutoConnect".Translate(), ref ToolkitSettings.AutoConnect);

            optionsListing.Gap();

            optionsListing.Label("TwitchToolkitWhatIsSeparateChannel".Translate());
            if (optionsListing.CenteredButton("TwitchToolkitLearnMore".Translate()))
            {
                Application.OpenURL("https://techcrunch.com/2018/02/15/twitch-launches-always-on-chat-rooms-for-channels/");
            }

            optionsListing.CheckboxLabeled("TwitchToolkitUseSeparateChannel".Translate(), ref ToolkitSettings.UseSeparateChatRoom);
            optionsListing.AddLabeledTextField("TwitchToolkitChannelID".Translate(), ref ToolkitSettings.ChannelID);
            optionsListing.AddLabeledTextField("TwitchToolkitChatroomID".Translate(), ref ToolkitSettings.ChatroomUUID);

            if (Toolkit.client != null)
            {
                if (Toolkit.client.client != null && Toolkit.client.client.Connected)
                {
                    optionsListing.Label("TwitchToolkitConnected".Translate());
                    if (optionsListing.CenteredButton("TwitchToolkitDisconnect".Translate()))
                    {
                        Toolkit.client.Disconnect();
                    }
                    if (optionsListing.CenteredButton("TwitchToolkitReconnect".Translate()))
                    {
                        Toolkit.client.Reconnect();
                    }
                }

                if (Toolkit.client.client == null || !Toolkit.client.client.Connected)
                {
                    if (optionsListing.CenteredButton("TwitchToolkitConnect".Translate()))
                    {
                        Toolkit.client.Connect();
                    }
                }
            }
            else
            {
                optionsListing.Label("Need new connection");
                if (optionsListing.CenteredButton("TwitchToolkitNewConnection".Translate()))
                {
                    Toolkit.client = new IRC.ToolkitIRC();
                }
            }
        }
Ejemplo n.º 8
0
        public static void DoWindowContents(Rect rect, Listing_Standard optionsListing)
        {
            optionsListing.AddLabeledTextField("TwitchToolkitChannel".Translate(), ref ToolkitSettings.Channel);
            optionsListing.AddLabeledTextField("TwitchToolkitUsername".Translate(), ref ToolkitSettings.Username);

            if (oauthWarningAccepted)
            {
                optionsListing.AddLabeledTextField("TwitchToolkitOauthKey".Translate(), ref ToolkitSettings.OAuth);
                if (optionsListing.ButtonTextLabeled("TwitchToolkitHideOauth".Translate(), "TwitchToolkitHideOauthButton".Translate()))
                {
                    oauthWarningAccepted = false;
                }
            }

            if (!oauthWarningAccepted)
            {
                if (optionsListing.ButtonTextLabeled("TwitchToolkitOauthWarning".Translate(), "TwitchToolkitOauthUnderstand".Translate()))
                {
                    oauthWarningAccepted = true;
                }
            }

            optionsListing.Gap();

            if (optionsListing.CenteredButton("TwitchToolkitGetNewOauthKey".Translate()))
            {
                Application.OpenURL("https://twitchapps.com/tmi/");
            }

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("Auto Connect to Twitch on Startup", ref ToolkitSettings.AutoConnect);

            optionsListing.Gap();

            optionsListing.Label("TwitchToolkitWhatIsSeparateChannel".Translate());
            if (optionsListing.CenteredButton("TwitchToolkitLearnMore".Translate()))
            {
                Application.OpenURL("https://techcrunch.com/2018/02/15/twitch-launches-always-on-chat-rooms-for-channels/");
            }

            optionsListing.CheckboxLabeled("TwitchToolkitUseSeparateChannel".Translate(), ref ToolkitSettings.UseSeparateChatRoom);
            optionsListing.CheckboxLabeled("Allow viewers to use any chat room?", ref ToolkitSettings.AllowBothChatRooms);

            optionsListing.Gap();

            optionsListing.AddLabeledTextField("TwitchToolkitChannelID".Translate(), ref ToolkitSettings.ChannelID);
            optionsListing.AddLabeledTextField("TwitchToolkitChatroomID".Translate(), ref ToolkitSettings.ChatroomUUID);

            optionsListing.Gap();

            optionsListing.CheckboxLabeled("Should whispers be responded to in separate chat room?", ref ToolkitSettings.WhispersGoToChatRoom);

            optionsListing.CheckboxLabeled(Helper.ReplacePlaceholder("TwitchToolkitWhisperAllowed".Translate(), first: ToolkitSettings.Username), ref ToolkitSettings.WhisperCmdsAllowed);
            optionsListing.CheckboxLabeled(Helper.ReplacePlaceholder("TwitchToolkitWhisperOnly".Translate(), first: ToolkitSettings.Username), ref ToolkitSettings.WhisperCmdsOnly);

            if (Toolkit.client != null)
            {
                if (Toolkit.client.client != null && Toolkit.client.client.Connected)
                {
                    optionsListing.Label("<color=#21D80E>" + "TwitchToolkitConnected".Translate() + "</color>");
                    if (optionsListing.CenteredButton("TwitchToolkitDisconnect".Translate()))
                    {
                        Toolkit.client.Disconnect();
                    }
                    if (optionsListing.CenteredButton("TwitchToolkitReconnect".Translate()))
                    {
                        Toolkit.client.Reconnect();
                    }
                }

                if (Toolkit.client.client == null || !Toolkit.client.client.Connected)
                {
                    if (optionsListing.CenteredButton("TwitchToolkitConnect".Translate()))
                    {
                        Toolkit.client.Connect();
                    }
                }
            }
            else
            {
                optionsListing.Label("Need new connection");
                if (optionsListing.CenteredButton("TwitchToolkitNewConnection".Translate()))
                {
                    Toolkit.client = new IRC.ToolkitIRC();
                }
            }
        }