////////////////

        internal SupportInfoDisplay(float width = 248f, float yBeg = 8f, float rowHeight = 30f, float scale = 0.8f)
        {
            if (Main.dedServ)
            {
                return;
            }

            var   mymod = ModHelpersMod.Instance;
            float y     = yBeg;
            float row   = 0;

            this.Width = width;

            this.PatreonTex = ModHelpersMod.Instance.GetTexture("patreon");

            this.RowHeight = rowHeight;
            this.Scale     = scale;

            ////

            this.HeadTextLabel = new UIText("Powered by:", 1.1f * scale);
            this.HeadTextLabel.Left.Set(-width, 1f);
            this.HeadTextLabel.Top.Set((4f + y) * scale, 0f);
            this.HeadTextLabel.TextColor = SupportInfoDisplay.HeaderLabelColor;
            this.HeadTextLabel.Recalculate();

            this.HeadUrl = new UIWebUrl(UITheme.Vanilla, "Mod Helpers v" + mymod.Version.ToString(), "https://forums.terraria.org/index.php?threads/.63670/", true, 1.1f * scale);
            this.HeadUrl.Left.Set(-(width - (114f * scale)), 1f);
            this.HeadUrl.Top.Set((4f + y) * scale, 0f);
            this.HeadUrl.Recalculate();

            this.ExtendTextLabel = new UIThemedText(UITheme.Vanilla, false, "...");
            this.ExtendTextLabel.Left.Set(-(width * 0.5f) - 16f, 1f);
            this.ExtendTextLabel.Top.Set((-14f + y + rowHeight) * scale, 0f);
            this.ExtendTextLabel.Recalculate();

            ////

            row += 1;

            if (!ModHelpersMod.Config.DisableModTags)
            {
                if (!mymod.Data.ModTagsOpened)
                {
                    this.EnableModTagsLabel           = new UIThemedText(UITheme.Vanilla, false, "Enable Mod Tags", 1f * (scale + 0.2f));
                    this.EnableModTagsLabel.TextColor = Color.Orange;
                    this.EnableModTagsLabel.Left.Set(-(width - 48f), 1f);
                    this.EnableModTagsLabel.Top.Set((y + ((row + 1) * rowHeight)) * scale, 0f);
                }
            }

            ////

            y += 6f * scale;

            this.ModderTextLabel = new UIText("Do you make mods?", 1f * scale);
            this.ModderTextLabel.Left.Set(-width, 1f);
            this.ModderTextLabel.Top.Set((y + (row * rowHeight)) * scale, 0f);

            this.ModderUrl = new UIWebUrl(UITheme.Vanilla, "Read this.", "https://forums.terraria.org/index.php?threads/.63670/#modders", true, 1f * scale);
            this.ModderUrl.Left.Set(-(width - (166f * scale)), 1f);
            this.ModderUrl.Top.Set((y + (row * rowHeight)) * scale, 0f);

            ////

            /*
             * row += 1;
             *
             * this.RecomInfoTextUI = new UIText( "Feedback? Confused? Bored?", 1f * scale );
             * this.RecomInfoTextUI.Left.Set( -xOff, 1f );
             * this.RecomInfoTextUI.Top.Set( (y + (row * rowHeight)) * scale, 0f );
             *
             * this.RecomInfoUrlUI = new UIWebUrl( UITheme.Vanilla, "Discord", "https://discord.gg/a2AwYtj", true, 1f * scale );
             * this.RecomInfoUrlUI.Left.Set( -( xOff - (242f * scale) ), 1f );
             * this.RecomInfoUrlUI.Top.Set( (y + (row * rowHeight) * scale), 0f );*/

            ////

            /*
             * row += 1;
             *
             * this.AuthorText1UI = new UIText( "Looking for more", 1f * scale );
             * this.AuthorText1UI.Left.Set( -xOff, 1f );
             * this.AuthorText1UI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             *
             * this.AuthorUrlUI = new UIWebUrl( UITheme.Vanilla, "specialized mods", "https://forums.terraria.org/index.php?threads/.63713/", true, 1f * scale );
             * this.AuthorUrlUI.Left.Set( -( xOff - ( 144f * scale ) ), 1f );
             * this.AuthorUrlUI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             *
             * this.AuthorText2UI = new UIText( "?", 1f * scale );
             * this.AuthorText2UI.Left.Set( -( xOff - ( 280f * scale ) ), 1f );
             * this.AuthorText2UI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );*/

            ////

            /*row += 1;
             *
             * this.SupportText1Label = new UIText( "Please", 1f * scale );
             * this.SupportText1Label.Left.Set( -width, 1f );
             * this.SupportText1Label.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             * //this.SupportText1UI.TextColor = Color.MediumSpringGreen;
             *
             * this.SupportUrl = new UIWebUrl( UITheme.Vanilla.Clone(), "support", "https://www.patreon.com/hamstar0", true, 1f * scale );
             * this.SupportUrl.Left.Set( -( width - ( 54f * scale ) ), 1f );
             * this.SupportUrl.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             *
             * this.SupportText2Label = new UIText( "upkeep & improvement", 1f * scale );
             * this.SupportText2Label.Left.Set( -( width - ( 120f * scale ) ), 1f );
             * this.SupportText2Label.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             * //this.SupportText2UI.TextColor = Color.MediumSpringGreen;*/

            ////

            row += 1;

            this.PatreonLabel = new UIText("Find this useful?", 1f * scale);
            this.PatreonLabel.Left.Set(-width, 1f);
            this.PatreonLabel.Top.Set((y + (row * rowHeight)) * scale, 0f);

            this.PatreonButton = new UIImageUrl(UITheme.Vanilla, this.PatreonTex, "https://www.patreon.com/hamstar0");                  //"https://www.patreon.com/bePatron?u=8504613"
            this.PatreonButton.Left.Set(-134, 1f);
            this.PatreonButton.Top.Set(((y + (row * rowHeight)) * scale) - 4, 0f);

            ////

            this.Elements.Add(this.HeadTextLabel);
            this.Elements.Add(this.HeadUrl);
            this.Elements.Add(this.ExtendTextLabel);
            if (this.EnableModTagsLabel != null)
            {
                this.Elements.Add(this.EnableModTagsLabel);
            }

            Main.OnPostDraw += SupportInfoDisplay._Draw;
        }
Exemple #2
0
        ////////////////

        private void InitializeComponents()
        {
            UIControlPanel    self  = this;
            ControlPanelLogic logic = this.Logic;
            var   mymod             = HamstarHelpersMod.Instance;
            float top = 0;

            this.OuterContainer = new UIElement();
            this.OuterContainer.Width.Set(UIControlPanel.ContainerWidth, 0f);
            this.OuterContainer.Height.Set(UIControlPanel.ContainerHeight, 0f);
            this.OuterContainer.MaxWidth.Set(UIControlPanel.ContainerWidth, 0f);
            this.OuterContainer.MaxHeight.Set(UIControlPanel.ContainerHeight, 0f);
            this.OuterContainer.HAlign = 0f;
            //this.MainElement.BackgroundColor = ControlPanelUI.MainBgColor;
            //this.MainElement.BorderColor = ControlPanelUI.MainEdgeColor;
            this.Append(this.OuterContainer);

            this.RecalculateContainer();

            this.InnerContainer = new UIPanel();
            this.InnerContainer.Width.Set(0f, 1f);
            this.InnerContainer.Height.Set(0f, 1f);
            this.OuterContainer.Append((UIElement)this.InnerContainer);

            this.Theme.ApplyPanel(this.InnerContainer);


            ////////

            this.DialogClose = new UITextPanelButton(this.Theme, "X");
            this.DialogClose.Top.Set(-8f, 0f);
            this.DialogClose.Left.Set(-16f, 1f);
            this.DialogClose.Width.Set(24f, 0f);
            this.DialogClose.Height.Set(24f, 0f);
            this.DialogClose.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                self.Close();
                Main.PlaySound(SoundID.MenuClose);
            };
            this.DialogClose.OnMouseOver += delegate(UIMouseEvent evt, UIElement listening_element) {
                self.Theme.ApplyButtonLit(self.DialogClose);
            };
            this.DialogClose.OnMouseOut += delegate(UIMouseEvent evt, UIElement listening_element) {
                self.Theme.ApplyButton(self.DialogClose);
            };
            this.InnerContainer.Append(this.DialogClose);

            ////

            var tip = new UIText("To enable issue reports for your mod, ");

            this.InnerContainer.Append((UIElement)tip);

            var tip_url = new UIWebUrl(this.Theme, "read this.",
                                       "https://forums.terraria.org/index.php?threads/mod-helpers-a-modders-mod-for-mods-and-modding.63670/#modders",
                                       true, 1f);

            tip_url.Left.Set(tip.GetInnerDimensions().Width, 0f);
            tip_url.Top.Set(-2f, 0f);
            this.InnerContainer.Append((UIElement)tip_url);

            top += 24f;

            ////

            var mod_list_panel = new UIPanel();

            {
                mod_list_panel.Top.Set(top, 0f);
                mod_list_panel.Width.Set(0f, 1f);
                mod_list_panel.Height.Set(UIControlPanel.ModListHeight, 0f);
                mod_list_panel.HAlign = 0f;
                mod_list_panel.SetPadding(4f);
                mod_list_panel.PaddingTop      = 0.0f;
                mod_list_panel.BackgroundColor = this.Theme.ListBgColor;
                mod_list_panel.BorderColor     = this.Theme.ListEdgeColor;
                this.InnerContainer.Append((UIElement)mod_list_panel);

                this.ModListElem = new UIList();
                {
                    this.ModListElem.Width.Set(-25, 1f);
                    this.ModListElem.Height.Set(0f, 1f);
                    this.ModListElem.HAlign      = 0f;
                    this.ModListElem.ListPadding = 4f;
                    this.ModListElem.SetPadding(0f);
                    mod_list_panel.Append((UIElement)this.ModListElem);

                    top += UIControlPanel.ModListHeight + this.InnerContainer.PaddingTop;

                    UIScrollbar scrollbar = new UIScrollbar();
                    {
                        scrollbar.Top.Set(8f, 0f);
                        scrollbar.Height.Set(-16f, 1f);
                        scrollbar.SetView(100f, 1000f);
                        scrollbar.HAlign = 1f;
                        mod_list_panel.Append((UIElement)scrollbar);
                        this.ModListElem.SetScrollbar(scrollbar);
                    }
                }
            }

            ////

            this.IssueTitleInput = new UITextArea(this.Theme, "Enter title of mod issue", 128);
            this.IssueTitleInput.Top.Set(top, 0f);
            this.IssueTitleInput.Width.Set(0f, 1f);
            this.IssueTitleInput.Height.Pixels = 36f;
            this.IssueTitleInput.HAlign        = 0f;
            this.IssueTitleInput.SetPadding(8f);
            this.IssueTitleInput.Disable();
            this.IssueTitleInput.OnPreChange += delegate(StringBuilder new_text) {
                self.RefreshIssueSubmitButton();
            };
            this.InnerContainer.Append((UIElement)this.IssueTitleInput);

            top += 40f;

            this.IssueBodyInput = new UITextArea(this.Theme, "Describe mod issue");
            this.IssueBodyInput.Top.Set(top, 0f);
            this.IssueBodyInput.Width.Set(0f, 1f);
            this.IssueBodyInput.Height.Pixels = 36f;
            this.IssueBodyInput.HAlign        = 0f;
            this.IssueBodyInput.SetPadding(8f);
            this.IssueBodyInput.Disable();
            this.IssueBodyInput.OnPreChange += delegate(StringBuilder new_text) {
                self.RefreshIssueSubmitButton();
            };
            this.InnerContainer.Append((UIElement)this.IssueBodyInput);

            top += 40f;

            ////

            this.IssueSubmitButton = new UITextPanelButton(this.Theme, "Submit Issue");
            this.IssueSubmitButton.Top.Set(top, 0f);
            this.IssueSubmitButton.Left.Set(0f, 0f);
            this.IssueSubmitButton.Width.Set(200f, 0f);
            this.IssueSubmitButton.Disable();
            this.IssueSubmitButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                if (self.AwaitingReport || !self.IssueSubmitButton.IsEnabled)
                {
                    return;
                }
                self.SubmitIssue();
            };
            this.InnerContainer.Append(this.IssueSubmitButton);

            this.ApplyConfigButton = new UITextPanelButton(this.Theme, "Apply Config Changes");
            this.ApplyConfigButton.Top.Set(top, 0f);
            this.ApplyConfigButton.Left.Set(0f, 0f);
            this.ApplyConfigButton.Width.Set(200f, 0f);
            this.ApplyConfigButton.HAlign = 1f;
            if (Main.netMode != 0)
            {
                this.ApplyConfigButton.Disable();
            }
            this.ApplyConfigButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                if (!self.ApplyConfigButton.IsEnabled)
                {
                    return;
                }
                self.ApplyConfigChanges(HamstarHelpersMod.Instance);
            };
            this.InnerContainer.Append(this.ApplyConfigButton);

            top += 30f;

            this.ModLockButton = new UITextPanelButton(this.Theme, UIControlPanel.ModLockTitle);
            this.ModLockButton.Top.Set(top, 0f);
            this.ModLockButton.Left.Set(0f, 0f);
            this.ModLockButton.Width.Set(0f, 1f);
            if (Main.netMode != 0 || !mymod.Config.WorldModLockEnable)
            {
                this.ModLockButton.Disable();
            }
            this.ModLockButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                if (!self.ModLockButton.IsEnabled)
                {
                    return;
                }
                self.ToggleModLock(HamstarHelpersMod.Instance);
                Main.PlaySound(SoundID.Unlock);
            };
            this.InnerContainer.Append(this.ModLockButton);

            this.RefreshModLockButton(mymod);

            top += 36f;

            ////

            var modrec_url = new UIWebUrl(this.Theme, "Need mods?", "https://sites.google.com/site/terrariamodsuggestions/");

            modrec_url.Top.Set(top, 0f);
            modrec_url.Left.Set(0f, 0f);
            this.InnerContainer.Append(modrec_url);

            var serverbrowser_url = new UIWebUrl(this.Theme, "Lonely?", "https://forums.terraria.org/index.php?threads/server-browser-early-beta.68346/");

            serverbrowser_url.Top.Set(top, 0f);
            this.InnerContainer.Append(serverbrowser_url);
            serverbrowser_url.Left.Set(-serverbrowser_url.GetDimensions().Width * 0.5f, 0.5f);

            var support_url = new UIWebUrl(this.Theme, "Support my mods!", "https://www.patreon.com/hamstar0");

            support_url.Top.Set(top, 0f);
            this.InnerContainer.Append(support_url);
            support_url.Left.Set(-support_url.GetDimensions().Width, 1f);
        }
        public override void InitializeComponents()
        {
            var self       = this;
            var self_theme = this.Theme.Clone();

            this.OuterContainer.Height.Set(-256, 1f);
            this.OuterContainer.MaxHeight.Set(-256, 1f);
            this.SetTopPosition(MenuItem.MenuTopPos - 68f, 0f, false);

            this.RecalculateMe();

            ////

            this.Header        = new UITextPanel <string>("Server Browser", 0.8f, true);
            this.Header.HAlign = 0.5f;
            this.Header.Top.Set(-35f, 0f);
            this.Header.SetPadding(15f);
            this.OuterContainer.Append((UIElement)this.Header);

            this.Theme.ApplyHeader(this.Header);

            ////

            var theme_button_theme = UITheme.Vanilla.Clone();
            var theme_button       = new UITextPanelButton(theme_button_theme, "B", 0.8f);

            theme_button.Top.Set(-8f, 0f);
            theme_button.Left.Set(-12f, 1f);
            theme_button.Width.Set(16f, 0f);
            theme_button.Height.Set(16f, 0f);
            theme_button.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                if (theme_button.Text == "B")
                {
                    theme_button.SetText("R");
                    this.Theme.Switch(UITheme.Vanilla);
                    theme_button_theme.Switch(self_theme);
                }
                else
                {
                    theme_button.SetText("B");
                    this.Theme.Switch(self_theme);
                    theme_button_theme.Switch(UITheme.Vanilla);
                }
                theme_button.RefreshTheme();
                this.RefreshTheme();
            };
            this.InnerContainer.Append((UIElement)theme_button);

            ////

            this.SortByNameButton = new UITextPanelButton(this.Theme, "Sort by name", 1.2f);
            this.SortByNameButton.Top.Set(12f, 0f);
            this.SortByNameButton.Left.Set(0f, 0f);
            this.SortByNameButton.Width.Set(128f, 0f);
            this.SortByNameButton.Height.Set(32f, 0f);
            this.SortByNameButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                this.SortServerListByName();
            };
            this.InnerContainer.Append((UIElement)this.SortByNameButton);

            this.SortByPingButton = new UITextPanelButton(this.Theme, "Sort by ping", 1.2f);
            this.SortByPingButton.Top.Set(12f, 0f);
            this.SortByPingButton.Left.Set(128f + 12f, 0f);
            this.SortByPingButton.Width.Set(128f, 0f);
            this.SortByPingButton.Height.Set(32f, 0f);
            this.SortByPingButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                this.SortServerListByPing();
            };
            this.InnerContainer.Append((UIElement)this.SortByPingButton);

            this.SortByPlayersButton = new UITextPanelButton(this.Theme, "Sort by players", 1.2f);
            this.SortByPlayersButton.Top.Set(12f, 0f);
            this.SortByPlayersButton.Left.Set(256f + 14.5f, 0f);
            this.SortByPlayersButton.Width.Set(136f, 0f);
            this.SortByPlayersButton.Height.Set(32f, 0f);
            this.SortByPlayersButton.OnClick += delegate(UIMouseEvent evt, UIElement listening_element) {
                this.SortServerListByPlayers();
            };
            this.InnerContainer.Append((UIElement)this.SortByPlayersButton);

            this.FilterByModInput = new UITextField(this.Theme, "Enter mod filter");
            this.FilterByModInput.Top.Set(12f, 0f);
            this.FilterByModInput.Left.Set(-320f, 1f);
            this.FilterByModInput.Width.Set(160f, 0f);
            this.FilterByModInput.Height.Set(32f, 0f);
            this.FilterByModInput.PaddingTop   += 4f;
            this.FilterByModInput.OnTextChange += delegate(object sender, EventArgs e) {
                this.FilterServerListByMod(((TextInputEventArgs)e).Text);
            };
            this.InnerContainer.Append((UIElement)this.FilterByModInput);

            this.FilterByNameInput = new UITextField(this.Theme, "Enter text filter");
            this.FilterByNameInput.Top.Set(12f, 0f);
            this.FilterByNameInput.Left.Set(-160f, 1f);
            this.FilterByNameInput.Width.Set(160f, 0f);
            this.FilterByNameInput.Height.Pixels = 32f;
            this.FilterByNameInput.PaddingTop   += 4f;
            this.FilterByNameInput.OnTextChange += delegate(object sender, EventArgs e) {
                this.FilterServerListByText(((TextInputEventArgs)e).Text);
            };
            this.InnerContainer.Append((UIElement)this.FilterByNameInput);

            ////

            this.LockedFilterButton = new UITextPanelButton(this.Theme, "All", 0.65f);
            this.LockedFilterButton.Top.Set(42f, 0f);
            this.LockedFilterButton.Left.Set(-72f, 1f);
            this.LockedFilterButton.Width.Set(72f, 0f);
            this.LockedFilterButton.Height.Pixels = 16f;
            this.LockedFilterButton.OnClick      += delegate(UIMouseEvent evt, UIElement listening_element) {
                this.CycleFilterServerListByLocked();

                if (this.PasswordFilterMode == 0)
                {
                    this.LockedFilterButton.SetText("All");
                }
                else if (this.PasswordFilterMode >= 1)
                {
                    this.LockedFilterButton.SetText("Locked");
                }
                else
                {
                    this.LockedFilterButton.SetText("Open");
                }
            };
            this.InnerContainer.Append((UIElement)this.LockedFilterButton);

            ////

            var server_name_col_label = new UIText("World Name", 0.75f);

            server_name_col_label.Top.Set(46f, 0f);
            server_name_col_label.Left.Set(UIServerDataElement.WorldLabelLeft + 8f, 0f);
            this.InnerContainer.Append((UIElement)server_name_col_label);

            var uptime_col_label = new UIText("Up Time", 0.75f);

            uptime_col_label.Top.Set(46f, 0f);
            uptime_col_label.Left.Set(UIServerDataElement.UptimeLabelLeft + 8f, 0f);
            this.InnerContainer.Append((UIElement)uptime_col_label);

            var ping_col_label = new UIText("Ping", 0.75f);

            ping_col_label.Top.Set(46f, 0f);
            ping_col_label.Left.Set(UIServerDataElement.PingLabelLeft + 8f, 0f);
            this.InnerContainer.Append((UIElement)ping_col_label);

            var prog_col_label = new UIText("Progress", 0.75f);

            prog_col_label.Top.Set(46f, 0f);
            prog_col_label.Left.Set(UIServerDataElement.WorldProgressLabelLeft + 8f, 0f);
            this.InnerContainer.Append((UIElement)prog_col_label);

            var event_col_label = new UIText("Current Event", 0.75f);

            event_col_label.Top.Set(46f, 0f);
            event_col_label.Left.Set(UIServerDataElement.WorldEventLabelLeft + 8f, 0f);
            this.InnerContainer.Append((UIElement)event_col_label);

            ////

            this.ServerList = new UIServerBrowserList(this.Theme);
            this.ServerList.Top.Set(60f, 0f);
            this.ServerList.Width.Set(0f, 1f);
            this.ServerList.Height.Set(-74f, 1f);
            this.ServerList.HAlign = 0f;
            this.ServerList.SetPadding(4f);
            this.ServerList.PaddingTop = 0.0f;
            this.ServerList.Initialize();
            this.InnerContainer.Append((UIElement)this.ServerList);

            this.ServerListErr = new UIText("", 1f);
            this.ServerListErr.Top.Set(60f + 8f, 0f);
            this.ServerListErr.Left.Set(-128, 0.5f);
            this.ServerListErr.Width.Set(256, 0f);
            this.InnerContainer.Append((UIElement)this.ServerListErr);

            ////

            var modrecommend_url = new UIWebUrl(this.Theme, "Trouble choosing mods?", "https://sites.google.com/site/terrariamodsuggestions/", true, 0.86f);

            modrecommend_url.Top.Set(-12f, 1f);
            modrecommend_url.Left.Set(0f, 0f);
            modrecommend_url.Width.Set(172f, 0f);
            this.InnerContainer.Append((UIElement)modrecommend_url);

            var support_url = new UIWebUrl(this.Theme, "Help me improve uptime!", "https://www.patreon.com/hamstar0", true, 0.86f);

            support_url.Top.Set(-12f, 1f);
            support_url.Left.Set(-176f, 1f);
            support_url.Width.Set(176f, 0f);
            this.InnerContainer.Append((UIElement)support_url);
        }
Exemple #4
0
        ////////////////

        internal SupportInfoDisplay(float width = 248f, float yBeg = 8f, float rowHeight = 30f, float scale = 0.8f)
        {
            if (Main.dedServ)
            {
                return;
            }

            float y     = yBeg;
            float row   = 0;
            var   mymod = ModHelpersMod.Instance;

            this.Width = width;

            ////

            this.HeadTextUI = new UIText("Powered by:", 1.1f * scale);
            this.HeadTextUI.Left.Set(-width, 1f);
            this.HeadTextUI.Top.Set((4f + y) * scale, 0f);
            this.HeadTextUI.TextColor = Color.Lerp(Color.White, Color.Gold, 0.25f);
            this.HeadTextUI.Recalculate();

            this.HeadUrlUI = new UIWebUrl(UITheme.Vanilla, "Mod Helpers v" + mymod.Version.ToString(), "https://forums.terraria.org/index.php?threads/.63670/", true, 1.1f * scale);
            this.HeadUrlUI.Left.Set(-(width - (114f * scale)), 1f);
            this.HeadUrlUI.Top.Set((4f + y) * scale, 0f);
            this.HeadUrlUI.Recalculate();

            this.ExtendTextUI = new UIText("...");
            this.ExtendTextUI.Left.Set(-(width * 0.5f) - 16f, 1f);
            this.ExtendTextUI.Top.Set((-14f + y + rowHeight) * scale, 0f);
            this.ExtendTextUI.Recalculate();

            ////

            y   += 6f * scale;
            row += 1;

            this.ModderTextUI = new UIText("Do you make mods?", 1f * scale);
            this.ModderTextUI.Left.Set(-width, 1f);
            this.ModderTextUI.Top.Set((y + (row * rowHeight)) * scale, 0f);

            this.ModderUrlUI = new UIWebUrl(UITheme.Vanilla, "Read this.", "https://forums.terraria.org/index.php?threads/.63670/#modders", true, 1f * scale);
            this.ModderUrlUI.Left.Set(-(width - (166f * scale)), 1f);
            this.ModderUrlUI.Top.Set((y + (row * rowHeight)) * scale, 0f);

            ////

            /*
             * row += 1;
             *
             * this.RecomInfoTextUI = new UIText( "Feedback? Confused? Bored?", 1f * scale );
             * this.RecomInfoTextUI.Left.Set( -xOff, 1f );
             * this.RecomInfoTextUI.Top.Set( (y + (row * rowHeight)) * scale, 0f );
             *
             * this.RecomInfoUrlUI = new UIWebUrl( UITheme.Vanilla, "Discord", "https://discord.gg/a2AwYtj", true, 1f * scale );
             * this.RecomInfoUrlUI.Left.Set( -( xOff - (242f * scale) ), 1f );
             * this.RecomInfoUrlUI.Top.Set( (y + (row * rowHeight) * scale), 0f );*/

            ////

            /*
             * row += 1;
             *
             * this.AuthorText1UI = new UIText( "Looking for more", 1f * scale );
             * this.AuthorText1UI.Left.Set( -xOff, 1f );
             * this.AuthorText1UI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             *
             * this.AuthorUrlUI = new UIWebUrl( UITheme.Vanilla, "specialized mods", "https://forums.terraria.org/index.php?threads/.63713/", true, 1f * scale );
             * this.AuthorUrlUI.Left.Set( -( xOff - ( 144f * scale ) ), 1f );
             * this.AuthorUrlUI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );
             *
             * this.AuthorText2UI = new UIText( "?", 1f * scale );
             * this.AuthorText2UI.Left.Set( -( xOff - ( 280f * scale ) ), 1f );
             * this.AuthorText2UI.Top.Set( ( y + ( row * rowHeight ) ) * scale, 0f );*/

            ////

            row += 1;

            this.SupportText1UI = new UIText("Please", 1f * scale);
            this.SupportText1UI.Left.Set(-width, 1f);
            this.SupportText1UI.Top.Set((y + (row * rowHeight)) * scale, 0f);
            //this.SupportText1UI.TextColor = Color.MediumSpringGreen;

            this.SupportUrlUI = new UIWebUrl(UITheme.Vanilla.Clone(), "support", "https://www.patreon.com/hamstar0", true, 1f * scale);
            this.SupportUrlUI.Left.Set(-(width - (54f * scale)), 1f);
            this.SupportUrlUI.Top.Set((y + (row * rowHeight)) * scale, 0f);

            this.SupportText2UI = new UIText("upkeep & improvement", 1f * scale);
            this.SupportText2UI.Left.Set(-(width - (120f * scale)), 1f);
            this.SupportText2UI.Top.Set((y + (row * rowHeight)) * scale, 0f);
            //this.SupportText2UI.TextColor = Color.MediumSpringGreen;

            ////

            this.Elements.Add(this.HeadTextUI);
            this.Elements.Add(this.HeadUrlUI);
            this.Elements.Add(this.ExtendTextUI);

            Main.OnPostDraw += SupportInfoDisplay._Draw;
        }