コード例 #1
0
ファイル: UIModBrowser.cs プロジェクト: JavidPack/TerraCustom
		public override void OnInitialize()
		{
			UIElement uIElement = new UIElement();
			uIElement.Width.Set(0f, 0.8f);
			uIElement.MaxWidth.Set(600f, 0f);
			uIElement.Top.Set(220f, 0f);
			uIElement.Height.Set(-220f, 1f);
			uIElement.HAlign = 0.5f;
			UIPanel uIPanel = new UIPanel();
			uIPanel.Width.Set(0f, 1f);
			uIPanel.Height.Set(-110f, 1f);
			uIPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
			uIPanel.PaddingTop = 0f;
			uIElement.Append(uIPanel);
			modListAll = new UIList();
			modList = new UIList();
			modList.Width.Set(-25f, 1f);
			modList.Height.Set(-50f, 1f);
			modList.Top.Set(50f, 0f);
			modList.ListPadding = 5f;
			uIPanel.Append(modList);
			UIScrollbar uIScrollbar = new UIScrollbar();
			uIScrollbar.SetView(100f, 1000f);
			uIScrollbar.Height.Set(-50f, 1f);
			uIScrollbar.Top.Set(50f, 0f);
			uIScrollbar.HAlign = 1f;
			uIPanel.Append(uIScrollbar);
			modList.SetScrollbar(uIScrollbar);
			uITextPanel = new UITextPanel("Mod Browser", 0.8f, true);
			uITextPanel.HAlign = 0.5f;
			uITextPanel.Top.Set(-35f, 0f);
			uITextPanel.SetPadding(15f);
			uITextPanel.BackgroundColor = new Color(73, 94, 171);
			uIElement.Append(uITextPanel);
			UITextPanel button = new UITextPanel("Reload List", 1f, false);
			button.Width.Set(-10f, 0.5f);
			button.Height.Set(25f, 0f);
			button.VAlign = 1f;
			button.Top.Set(-65f, 0f);
			button.OnMouseOver += new UIElement.MouseEvent(FadedMouseOver);
			button.OnMouseOut += new UIElement.MouseEvent(FadedMouseOut);
			button.OnClick += new UIElement.MouseEvent(ReloadList);
			uIElement.Append(button);
			UITextPanel button3 = new UITextPanel("Back", 1f, false);
			button3.Width.Set(-10f, 0.5f);
			button3.Height.Set(25f, 0f);
			button3.VAlign = 1f;
			button3.Top.Set(-20f, 0f);
			button3.OnMouseOver += new UIElement.MouseEvent(FadedMouseOver);
			button3.OnMouseOut += new UIElement.MouseEvent(FadedMouseOut);
			button3.OnClick += new UIElement.MouseEvent(BackClick);
			uIElement.Append(button3);
			base.Append(uIElement);
			UIElement uIElement2 = new UIElement();
			uIElement2.Width.Set(0f, 1f);
			uIElement2.Height.Set(32f, 0f);
			uIElement2.Top.Set(10f, 0f);
			Texture2D texture = Texture2D.FromStream(Main.instance.GraphicsDevice, Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria.ModLoader.UI.UIModBrowserIcons.png"));
			UICycleImage uIToggleImage;
			for (int j = 0; j < 2; j++)
			{
				if (j == 0)
				{
					uIToggleImage = new UICycleImage(texture, 5, 32, 32, 0, 0);
					uIToggleImage.setCurrentState((int)sortMode);
					uIToggleImage.OnClick += (a, b) => Interface.modBrowser.sortMode = sortMode.Next();
					uIToggleImage.OnClick += new UIElement.MouseEvent(this.SortList);
				}
				else
				{
					uIToggleImage = new UICycleImage(texture, 3, 32, 32, 34, 0);
					uIToggleImage.setCurrentState((int)updateFilterMode);
					uIToggleImage.OnClick += (a, b) => Interface.modBrowser.updateFilterMode = updateFilterMode.Next();
					uIToggleImage.OnClick += new UIElement.MouseEvent(this.SortList);
				}
				uIToggleImage.Left.Set((float)(j * 36 + 8), 0f);
				_categoryButtons.Add(uIToggleImage);
				uIElement2.Append(uIToggleImage);
			}
			filterTextBox = new UIInputTextField("Type to search");
			filterTextBox.Top.Set(5, 0f);
			filterTextBox.Left.Set(-150, 1f);
			filterTextBox.OnTextChange += new UIInputTextField.EventHandler(SortList);
			uIElement2.Append(filterTextBox);
			UICycleImage SearchFilterToggle = new UICycleImage(texture, 2, 32, 32, 68, 0);
			SearchFilterToggle.setCurrentState((int)searchFilterMode);
			SearchFilterToggle.OnClick += (a, b) => Interface.modBrowser.searchFilterMode = searchFilterMode.Next();
			SearchFilterToggle.OnClick += new UIElement.MouseEvent(this.SortList);
			SearchFilterToggle.Left.Set(545f, 0f);
			_categoryButtons.Add(SearchFilterToggle);
			uIElement2.Append(SearchFilterToggle);
			uIPanel.Append(uIElement2);
		}
コード例 #2
0
        public override void OnInitialize()
        {
            uIElement = new UIElement();
            uIElement.Width.Set(0f, 0.8f);
            uIElement.MaxWidth.Set(600f, 0f);
            uIElement.Top.Set(220f, 0f);
            uIElement.Height.Set(-220f, 1f);
            uIElement.HAlign = 0.5f;

            uIPanel = new UIPanel();
            uIPanel.Width.Set(0f, 1f);
            uIPanel.Height.Set(-110f, 1f);
            uIPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
            uIPanel.PaddingTop      = 0f;
            uIElement.Append(uIPanel);

            uILoader = new UILoaderAnimatedImage(0.5f, 0.5f, 1f);

            modListAll = new UIList();
            modList    = new UIList();
            modList.Width.Set(-25f, 1f);
            modList.Height.Set(-50f, 1f);
            modList.Top.Set(50f, 0f);
            modList.ListPadding = 5f;
            uIPanel.Append(modList);

            UIScrollbar uIScrollbar = new UIScrollbar();

            uIScrollbar.SetView(100f, 1000f);
            uIScrollbar.Height.Set(-50f, 1f);
            uIScrollbar.Top.Set(50f, 0f);
            uIScrollbar.HAlign = 1f;
            uIPanel.Append(uIScrollbar);

            modList.SetScrollbar(uIScrollbar);
            uIHeaderTextPanel        = new UITextPanel <string>("Mod Browser", 0.8f, true);
            uIHeaderTextPanel.HAlign = 0.5f;
            uIHeaderTextPanel.Top.Set(-35f, 0f);
            uIHeaderTextPanel.SetPadding(15f);
            uIHeaderTextPanel.BackgroundColor = new Color(73, 94, 171);
            uIElement.Append(uIHeaderTextPanel);

            reloadButton = new UITextPanel <string>("Getting data...", 1f, false);
            reloadButton.Width.Set(-10f, 0.5f);
            reloadButton.Height.Set(25f, 0f);
            reloadButton.VAlign = 1f;
            reloadButton.Top.Set(-65f, 0f);
            reloadButton.OnMouseOver += UICommon.FadedMouseOver;
            reloadButton.OnMouseOut  += UICommon.FadedMouseOut;
            reloadButton.OnClick     += ReloadList;
            uIElement.Append(reloadButton);

            UITextPanel <string> backButton = new UITextPanel <string>("Back", 1f, false);

            backButton.Width.Set(-10f, 0.5f);
            backButton.Height.Set(25f, 0f);
            backButton.VAlign = 1f;
            backButton.Top.Set(-20f, 0f);
            backButton.OnMouseOver += UICommon.FadedMouseOver;
            backButton.OnMouseOut  += UICommon.FadedMouseOut;
            backButton.OnClick     += BackClick;
            uIElement.Append(backButton);

            clearButton = new UITextPanel <string>("Clear Special Filter: ??", 1f, false);
            clearButton.Width.Set(-10f, 0.5f);
            clearButton.Height.Set(25f, 0f);
            clearButton.HAlign = 1f;
            clearButton.VAlign = 1f;
            clearButton.Top.Set(-65f, 0f);
            clearButton.BackgroundColor = Color.Purple * 0.7f;
            clearButton.OnMouseOver    += (s, e) => UICommon.CustomFadedMouseOver(Color.Purple, s, e);
            clearButton.OnMouseOut     += (s, e) => UICommon.CustomFadedMouseOut(Color.Purple * 0.7f, s, e);
            clearButton.OnClick        += (s, e) =>
            {
                Interface.modBrowser.SpecialModPackFilter      = null;
                Interface.modBrowser.SpecialModPackFilterTitle = null;
                Interface.modBrowser.SortList();
                Main.PlaySound(SoundID.MenuTick);
            };

            Append(uIElement);

            UIElement uIElement2 = new UIElement();

            uIElement2.Width.Set(0f, 1f);
            uIElement2.Height.Set(32f, 0f);
            uIElement2.Top.Set(10f, 0f);
            Texture2D texture = Texture2D.FromStream(Main.instance.GraphicsDevice, Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria.ModLoader.UI.UIModBrowserIcons.png"));

            for (int j = 0; j < 2; j++)
            {
                if (j == 0)
                {
                    uIToggleImage = new UICycleImage(texture, 6, 32, 32, 0, 0);
                    uIToggleImage.setCurrentState((int)sortMode);
                    uIToggleImage.OnClick += (a, b) =>
                    {
                        sortMode = sortMode.NextEnum();
                        SortList();
                    };
                    uIToggleImage.OnRightClick += (a, b) =>
                    {
                        sortMode = sortMode.PreviousEnum();
                        SortList();
                    };
                }
                else
                {
                    uIToggleImage = new UICycleImage(texture, 3, 32, 32, 34, 0);
                    uIToggleImage.setCurrentState((int)updateFilterMode);
                    uIToggleImage.OnClick += (a, b) =>
                    {
                        updateFilterMode = updateFilterMode.NextEnum();
                        SortList();
                    };
                    uIToggleImage.OnRightClick += (a, b) =>
                    {
                        updateFilterMode = updateFilterMode.PreviousEnum();
                        SortList();
                    };
                }
                uIToggleImage.Left.Set((float)(j * 36 + 8), 0f);
                _categoryButtons.Add(uIToggleImage);
                uIElement2.Append(uIToggleImage);
            }
            filterTextBox = new UIInputTextField("Type to search");
            filterTextBox.Top.Set(5, 0f);
            filterTextBox.Left.Set(-150, 1f);
            filterTextBox.OnTextChange += (sender, e) => SortList();
            uIElement2.Append(filterTextBox);

            SearchFilterToggle = new UICycleImage(texture, 2, 32, 32, 68, 0);
            SearchFilterToggle.setCurrentState((int)searchFilterMode);
            SearchFilterToggle.OnClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.NextEnum();
                SortList();
            };
            SearchFilterToggle.OnRightClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.PreviousEnum();
                SortList();
            };
            SearchFilterToggle.Left.Set(545f, 0f);
            _categoryButtons.Add(SearchFilterToggle);
            uIElement2.Append(SearchFilterToggle);
            uIPanel.Append(uIElement2);
        }
コード例 #3
0
ファイル: UIMods.cs プロジェクト: xxSephiroth/tModLoader
        public override void OnInitialize()
        {
            uIElement = new UIElement();
            uIElement.Width.Set(0f, 0.8f);
            uIElement.MaxWidth.Set(600f, 0f);
            uIElement.Top.Set(220f, 0f);
            uIElement.Height.Set(-220f, 1f);
            uIElement.HAlign = 0.5f;

            uIPanel = new UIPanel();
            uIPanel.Width.Set(0f, 1f);
            uIPanel.Height.Set(-110f, 1f);
            uIPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
            uIPanel.PaddingTop      = 0f;
            uIElement.Append(uIPanel);

            uiLoader = new UILoaderAnimatedImage(0.5f, 0.5f, 1f);

            modList = new UIList();
            modList.Width.Set(-25f, 1f);
            modList.Height.Set(-50f, 1f);
            modList.Top.Set(50f, 0f);
            modList.ListPadding = 5f;
            uIPanel.Append(modList);

            UIScrollbar uIScrollbar = new UIScrollbar();

            uIScrollbar.SetView(100f, 1000f);
            uIScrollbar.Height.Set(-50f, 1f);
            uIScrollbar.Top.Set(50f, 0f);
            uIScrollbar.HAlign = 1f;
            uIPanel.Append(uIScrollbar);

            modList.SetScrollbar(uIScrollbar);

            UITextPanel <string> uIHeaderTexTPanel = new UITextPanel <string>(Language.GetTextValue("tModLoader.ModsModsList"), 0.8f, true);

            uIHeaderTexTPanel.HAlign = 0.5f;
            uIHeaderTexTPanel.Top.Set(-35f, 0f);
            uIHeaderTexTPanel.SetPadding(15f);
            uIHeaderTexTPanel.BackgroundColor = new Color(73, 94, 171);
            uIElement.Append(uIHeaderTexTPanel);
            buttonEA = new UIColorTextPanel(Language.GetTextValue("tModLoader.ModsEnableAll"), Color.Green, 1f, false);
            buttonEA.Width.Set(-10f, 1f / 3f);
            buttonEA.Height.Set(25f, 0f);
            buttonEA.VAlign = 1f;
            buttonEA.Top.Set(-65f, 0f);
            buttonEA.OnMouseOver += UICommon.FadedMouseOver;
            buttonEA.OnMouseOut  += UICommon.FadedMouseOut;
            buttonEA.OnClick     += this.EnableAll;
            uIElement.Append(buttonEA);
            buttonDA = new UIColorTextPanel(Language.GetTextValue("tModLoader.ModsDisableAll"), Color.Red, 1f, false);
            buttonDA.CopyStyle(buttonEA);
            buttonDA.HAlign       = 0.5f;
            buttonDA.OnMouseOver += UICommon.FadedMouseOver;
            buttonDA.OnMouseOut  += UICommon.FadedMouseOut;
            buttonDA.OnClick     += this.DisableAll;
            uIElement.Append(buttonDA);
            buttonRM = new UITextPanel <string>(Language.GetTextValue("tModLoader.ModsReloadMods"), 1f, false);
            buttonRM.CopyStyle(buttonEA);
            buttonRM.HAlign       = 1f;
            buttonRM.OnMouseOver += UICommon.FadedMouseOver;
            buttonRM.OnMouseOut  += UICommon.FadedMouseOut;
            buttonRM.OnClick     += ReloadMods;
            uIElement.Append(buttonRM);
            buttonB = new UITextPanel <string>(Language.GetTextValue("UI.Back"), 1f, false);
            buttonB.CopyStyle(buttonEA);
            buttonB.Top.Set(-20f, 0f);
            buttonB.OnMouseOver += UICommon.FadedMouseOver;
            buttonB.OnMouseOut  += UICommon.FadedMouseOut;
            buttonB.OnClick     += BackClick;
            uIElement.Append(buttonB);
            buttonOMF = new UITextPanel <string>(Language.GetTextValue("tModLoader.ModsOpenModsFolder"), 1f, false);
            buttonOMF.CopyStyle(buttonB);
            buttonOMF.HAlign       = 0.5f;
            buttonOMF.OnMouseOver += UICommon.FadedMouseOver;
            buttonOMF.OnMouseOut  += UICommon.FadedMouseOut;
            buttonOMF.OnClick     += OpenModsFolder;
            uIElement.Append(buttonOMF);

            Texture2D texture            = Texture2D.FromStream(Main.instance.GraphicsDevice, Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria.ModLoader.UI.UIModBrowserIcons.png"));
            UIElement upperMenuContainer = new UIElement();

            upperMenuContainer.Width.Set(0f, 1f);
            upperMenuContainer.Height.Set(32f, 0f);
            upperMenuContainer.Top.Set(10f, 0f);

            UICycleImage toggleImage;

            for (int j = 0; j < 2; j++)
            {
                if (j == 0)
                {
                    toggleImage = new UICycleImage(texture, 3, 32, 32, 34 * 3, 0);
                    toggleImage.setCurrentState((int)sortMode);
                    toggleImage.OnClick += (a, b) =>
                    {
                        sortMode     = sortMode.NextEnum();
                        updateNeeded = true;
                    };
                    toggleImage.OnRightClick += (a, b) =>
                    {
                        sortMode     = sortMode.PreviousEnum();
                        updateNeeded = true;
                    };
                }
                else
                {
                    toggleImage = new UICycleImage(texture, 3, 32, 32, 34 * 4, 0);
                    toggleImage.setCurrentState((int)enabledFilterMode);
                    toggleImage.OnClick += (a, b) =>
                    {
                        enabledFilterMode = enabledFilterMode.NextEnum();
                        updateNeeded      = true;
                    };
                    toggleImage.OnRightClick += (a, b) =>
                    {
                        enabledFilterMode = enabledFilterMode.PreviousEnum();
                        updateNeeded      = true;
                    };
                }
                toggleImage.Left.Set((float)(j * 36 + 8), 0f);
                _categoryButtons.Add(toggleImage);
                upperMenuContainer.Append(toggleImage);
            }

            UIPanel filterTextBoxBackground = new UIPanel();

            filterTextBoxBackground.Top.Set(0f, 0f);
            filterTextBoxBackground.Left.Set(-170f, 1f);
            filterTextBoxBackground.Width.Set(135f, 0f);
            filterTextBoxBackground.Height.Set(40f, 0f);
            upperMenuContainer.Append(filterTextBoxBackground);

            filterTextBox = new UIInputTextField(Language.GetTextValue("tModLoader.ModsTypeToSearch"));
            filterTextBox.Top.Set(5f, 0f);
            filterTextBox.Left.Set(-160f, 1f);
            filterTextBox.OnTextChange += (a, b) => { updateNeeded = true; };
            upperMenuContainer.Append(filterTextBox);

            SearchFilterToggle = new UICycleImage(texture, 2, 32, 32, 34 * 2, 0);
            SearchFilterToggle.setCurrentState((int)searchFilterMode);
            SearchFilterToggle.OnClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.NextEnum();
                updateNeeded     = true;
            };
            SearchFilterToggle.OnRightClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.PreviousEnum();
                updateNeeded     = true;
            };
            SearchFilterToggle.Left.Set(545f, 0f);
            _categoryButtons.Add(SearchFilterToggle);
            upperMenuContainer.Append(SearchFilterToggle);

            buttonMP = new UITextPanel <string>(Language.GetTextValue("tModLoader.ModsModPacks"), 1f, false);
            buttonMP.CopyStyle(buttonOMF);
            buttonMP.HAlign       = 1f;
            buttonMP.OnMouseOver += UICommon.FadedMouseOver;
            buttonMP.OnMouseOut  += UICommon.FadedMouseOut;
            buttonMP.OnClick     += GotoModPacksMenu;
            uIElement.Append(buttonMP);

            uIPanel.Append(upperMenuContainer);
            Append(uIElement);
        }
コード例 #4
0
ファイル: UIMods.cs プロジェクト: Tea-Mod-Loader/Tea
		public override void OnInitialize() {
			uIElement = new UIElement {
				Width = { Percent = 0.8f },
				MaxWidth = UICommon.MaxPanelWidth,
				Top = { Pixels = 220 },
				Height = { Pixels = -220, Percent = 1f },
				HAlign = 0.5f
			};

			uIPanel = new UIPanel {
				Width = { Percent = 1f },
				Height = { Pixels = -110, Percent = 1f },
				BackgroundColor = UICommon.MainPanelBackground,
				PaddingTop = 0f
			};
			uIElement.Append(uIPanel);

			uiLoader = new UILoaderAnimatedImage(0.5f, 0.5f, 1f);

			modList = new UIList {
				Width = { Pixels = -25, Percent = 1f },
				Height = { Pixels = ModLoader.showMemoryEstimates ? -72 : -50, Percent = 1f },
				Top = { Pixels = ModLoader.showMemoryEstimates ? 72 : 50 },
				ListPadding = 5f
			};
			uIPanel.Append(modList);

			if (ModLoader.showMemoryEstimates) {
				var ramUsage = new UIMemoryBar() {
					Top = { Pixels = 45 },
				};
				ramUsage.Width.Pixels = -25;
				uIPanel.Append(ramUsage);
			}

			var uIScrollbar = new UIScrollbar {
				Height = { Pixels = -50, Percent = 1f },
				Top = { Pixels = 50 },
				HAlign = 1f
			}.WithView(100f, 1000f);
			uIPanel.Append(uIScrollbar);

			modList.SetScrollbar(uIScrollbar);

			var uIHeaderTexTPanel = new UITextPanel<string>(Language.GetTextValue("tModLoader.ModsModsList"), 0.8f, true) {
				HAlign = 0.5f,
				Top = { Pixels = -35 },
				BackgroundColor = UICommon.DefaultUIBlue
			}.WithPadding(15f);
			uIElement.Append(uIHeaderTexTPanel);

			buttonEA = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("tModLoader.ModsEnableAll")) {
				TextColor = Color.Green,
				Width = new StyleDimension(-10f, 1f / 3f),
				Height = { Pixels = 40 },
				VAlign = 1f,
				Top = { Pixels = -65 }
			}.WithFadedMouseOver();
			buttonEA.OnClick += EnableAll;
			uIElement.Append(buttonEA);

			// TODO CopyStyle doesn't capture all the duplication here, consider an inner method
			buttonDA = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("tModLoader.ModsDisableAll"));
			buttonDA.CopyStyle(buttonEA);
			buttonDA.TextColor = Color.Red;
			buttonDA.HAlign = 0.5f;
			buttonDA.WithFadedMouseOver();
			buttonDA.OnClick += DisableAll;
			uIElement.Append(buttonDA);

			buttonRM = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("tModLoader.ModsReloadMods"));
			buttonRM.CopyStyle(buttonEA);
			buttonRM.HAlign = 1f;
			buttonRM.WithFadedMouseOver();
			buttonRM.OnClick += ReloadMods;
			uIElement.Append(buttonRM);

			buttonB = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("UI.Back"));
			buttonB.CopyStyle(buttonEA);
			buttonB.Top.Pixels = -20;
			buttonB.WithFadedMouseOver();
			buttonB.OnClick += BackClick;

			uIElement.Append(buttonB);
			buttonOMF = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("tModLoader.ModsOpenModsFolder"));
			buttonOMF.CopyStyle(buttonB);
			buttonOMF.HAlign = 0.5f;
			buttonOMF.WithFadedMouseOver();
			buttonOMF.OnClick += OpenModsFolder;
			uIElement.Append(buttonOMF);

			var texture = UICommon.ModBrowserIconsTexture;
			var upperMenuContainer = new UIElement {
				Width = { Percent = 1f },
				Height = { Pixels = 32 },
				Top = { Pixels = 10 }
			};

			UICycleImage toggleImage;
			for (int j = 0; j < 3; j++) {
				if (j == 0) { //TODO: ouch, at least there's a loop but these click events look quite similar
					toggleImage = new UICycleImage(texture, 3, 32, 32, 34 * 3, 0);
					toggleImage.SetCurrentState((int)sortMode);
					toggleImage.OnClick += (a, b) => {
						sortMode = sortMode.NextEnum();
						updateNeeded = true;
					};
					toggleImage.OnRightClick += (a, b) => {
						sortMode = sortMode.PreviousEnum();
						updateNeeded = true;
					};
				}
				else if (j == 1) {
					toggleImage = new UICycleImage(texture, 3, 32, 32, 34 * 4, 0);
					toggleImage.SetCurrentState((int)enabledFilterMode);
					toggleImage.OnClick += (a, b) => {
						enabledFilterMode = enabledFilterMode.NextEnum();
						updateNeeded = true;
					};
					toggleImage.OnRightClick += (a, b) => {
						enabledFilterMode = enabledFilterMode.PreviousEnum();
						updateNeeded = true;
					};
				}
				else {
					toggleImage = new UICycleImage(texture, 5, 32, 32, 34 * 5, 0);
					toggleImage.SetCurrentState((int)modSideFilterMode);
					toggleImage.OnClick += (a, b) => {
						modSideFilterMode = modSideFilterMode.NextEnum();
						updateNeeded = true;
					};
					toggleImage.OnRightClick += (a, b) => {
						modSideFilterMode = modSideFilterMode.PreviousEnum();
						updateNeeded = true;
					};
				}
				toggleImage.Left.Pixels = j * 36 + 8;
				_categoryButtons.Add(toggleImage);
				upperMenuContainer.Append(toggleImage);
			}

			var filterTextBoxBackground = new UIPanel {
				Top = { Percent = 0f },
				Left = { Pixels = -170, Percent = 1f },
				Width = { Pixels = 135 },
				Height = { Pixels = 40 }
			};
			filterTextBoxBackground.OnRightClick += (a, b) => filterTextBox.Text = "";
			upperMenuContainer.Append(filterTextBoxBackground);

			filterTextBox = new UIInputTextField(Language.GetTextValue("tModLoader.ModsTypeToSearch")) {
				Top = { Pixels = 5 },
				Left = { Pixels = -160, Percent = 1f },
				Width = { Pixels = 120 },
				Height = { Pixels = 20 }
			};
			filterTextBox.OnTextChange += (a, b) => updateNeeded = true;
			upperMenuContainer.Append(filterTextBox);

			SearchFilterToggle = new UICycleImage(texture, 2, 32, 32, 34 * 2, 0) {
				Left = { Pixels = 545 }
			};
			SearchFilterToggle.SetCurrentState((int)searchFilterMode);
			SearchFilterToggle.OnClick += (a, b) => {
				searchFilterMode = searchFilterMode.NextEnum();
				updateNeeded = true;
			};
			SearchFilterToggle.OnRightClick += (a, b) => {
				searchFilterMode = searchFilterMode.PreviousEnum();
				updateNeeded = true;
			};
			_categoryButtons.Add(SearchFilterToggle);
			upperMenuContainer.Append(SearchFilterToggle);

			buttonMP = new UIAutoScaleTextTextPanel<string>(Language.GetTextValue("tModLoader.ModsModPacks"));
			buttonMP.CopyStyle(buttonOMF);
			buttonMP.HAlign = 1f;
			buttonMP.WithFadedMouseOver();
			buttonMP.OnClick += GotoModPacksMenu;
			uIElement.Append(buttonMP);

			uIPanel.Append(upperMenuContainer);
			Append(uIElement);
		}
コード例 #5
0
ファイル: UIModBrowser.cs プロジェクト: DrakoGlyph/tModLoader
        public override void OnInitialize()
        {
            UIElement uIElement = new UIElement();

            uIElement.Width.Set(0f, 0.8f);
            uIElement.MaxWidth.Set(600f, 0f);
            uIElement.Top.Set(220f, 0f);
            uIElement.Height.Set(-220f, 1f);
            uIElement.HAlign = 0.5f;
            UIPanel uIPanel = new UIPanel();

            uIPanel.Width.Set(0f, 1f);
            uIPanel.Height.Set(-110f, 1f);
            uIPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
            uIPanel.PaddingTop      = 0f;
            uIElement.Append(uIPanel);
            modListAll = new UIList();
            modList    = new UIList();
            modList.Width.Set(-25f, 1f);
            modList.Height.Set(-50f, 1f);
            modList.Top.Set(50f, 0f);
            modList.ListPadding = 5f;
            uIPanel.Append(modList);
            UIScrollbar uIScrollbar = new UIScrollbar();

            uIScrollbar.SetView(100f, 1000f);
            uIScrollbar.Height.Set(-50f, 1f);
            uIScrollbar.Top.Set(50f, 0f);
            uIScrollbar.HAlign = 1f;
            uIPanel.Append(uIScrollbar);
            modList.SetScrollbar(uIScrollbar);
            uITextPanel        = new UITextPanel("Mod Browser", 0.8f, true);
            uITextPanel.HAlign = 0.5f;
            uITextPanel.Top.Set(-35f, 0f);
            uITextPanel.SetPadding(15f);
            uITextPanel.BackgroundColor = new Color(73, 94, 171);
            uIElement.Append(uITextPanel);
            UITextPanel button = new UITextPanel("Reload List", 1f, false);

            button.Width.Set(-10f, 0.5f);
            button.Height.Set(25f, 0f);
            button.VAlign = 1f;
            button.Top.Set(-65f, 0f);
            button.OnMouseOver += new UIElement.MouseEvent(FadedMouseOver);
            button.OnMouseOut  += new UIElement.MouseEvent(FadedMouseOut);
            button.OnClick     += new UIElement.MouseEvent(ReloadList);
            uIElement.Append(button);
            UITextPanel button3 = new UITextPanel("Back", 1f, false);

            button3.Width.Set(-10f, 0.5f);
            button3.Height.Set(25f, 0f);
            button3.VAlign = 1f;
            button3.Top.Set(-20f, 0f);
            button3.OnMouseOver += new UIElement.MouseEvent(FadedMouseOver);
            button3.OnMouseOut  += new UIElement.MouseEvent(FadedMouseOut);
            button3.OnClick     += new UIElement.MouseEvent(BackClick);
            uIElement.Append(button3);
            base.Append(uIElement);
            UIElement uIElement2 = new UIElement();

            uIElement2.Width.Set(0f, 1f);
            uIElement2.Height.Set(32f, 0f);
            uIElement2.Top.Set(10f, 0f);
            Texture2D    texture = Texture2D.FromStream(Main.instance.GraphicsDevice, Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria.ModLoader.UI.UIModBrowserIcons.png"));
            UICycleImage uIToggleImage;

            for (int j = 0; j < 2; j++)
            {
                if (j == 0)
                {
                    uIToggleImage = new UICycleImage(texture, 5, 32, 32, 0, 0);
                    uIToggleImage.setCurrentState((int)sortMode);
                    uIToggleImage.OnClick += (a, b) => Interface.modBrowser.sortMode = sortMode.Next();
                    uIToggleImage.OnClick += new UIElement.MouseEvent(this.SortList);
                }
                else
                {
                    uIToggleImage = new UICycleImage(texture, 3, 32, 32, 34, 0);
                    uIToggleImage.setCurrentState((int)updateFilterMode);
                    uIToggleImage.OnClick += (a, b) => Interface.modBrowser.updateFilterMode = updateFilterMode.Next();
                    uIToggleImage.OnClick += new UIElement.MouseEvent(this.SortList);
                }
                uIToggleImage.Left.Set((float)(j * 36 + 8), 0f);
                _categoryButtons.Add(uIToggleImage);
                uIElement2.Append(uIToggleImage);
            }
            uIPanel.Append(uIElement2);
        }
コード例 #6
0
ファイル: UIModBrowser.cs プロジェクト: imkSushi/tModLoader
        public override void OnInitialize()
        {
            uIElement = new UIElement();
            uIElement.Width.Set(0f, 0.8f);
            uIElement.MaxWidth.Set(600f, 0f);
            uIElement.Top.Set(220f, 0f);
            uIElement.Height.Set(-220f, 1f);
            uIElement.HAlign = 0.5f;

            uIPanel = new UIPanel();
            uIPanel.Width.Set(0f, 1f);
            uIPanel.Height.Set(-110f, 1f);
            uIPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
            uIPanel.PaddingTop      = 0f;
            uIElement.Append(uIPanel);

            uILoader = new UILoaderAnimatedImage(0.5f, 0.5f, 1f);

            modList = new UIList();
            modList.Width.Set(-25f, 1f);
            modList.Height.Set(-50f, 1f);
            modList.Top.Set(50f, 0f);
            modList.ListPadding = 5f;
            uIPanel.Append(modList);

            UIScrollbar uIScrollbar = new UIScrollbar();

            uIScrollbar.SetView(100f, 1000f);
            uIScrollbar.Height.Set(-50f, 1f);
            uIScrollbar.Top.Set(50f, 0f);
            uIScrollbar.HAlign = 1f;
            uIPanel.Append(uIScrollbar);

            uINoModsFoundText        = new UIText(Language.GetTextValue("tModLoader.MBNoModsFound"), 1f, false);
            uINoModsFoundText.HAlign = 0.5f;
            uINoModsFoundText.SetPadding(15f);

            modList.SetScrollbar(uIScrollbar);
            uIHeaderTextPanel        = new UITextPanel <string>(Language.GetTextValue("tModLoader.MenuModBrowser"), 0.8f, true);
            uIHeaderTextPanel.HAlign = 0.5f;
            uIHeaderTextPanel.Top.Set(-35f, 0f);
            uIHeaderTextPanel.SetPadding(15f);
            uIHeaderTextPanel.BackgroundColor = new Color(73, 94, 171);
            uIElement.Append(uIHeaderTextPanel);

            reloadButton = new UITextPanel <string>(Language.GetTextValue("tModLoader.MBGettingData"), 1f, false);
            reloadButton.Width.Set(-10f, 0.5f);
            reloadButton.Height.Set(25f, 0f);
            reloadButton.VAlign = 1f;
            reloadButton.Top.Set(-65f, 0f);
            reloadButton.OnMouseOver += UICommon.FadedMouseOver;
            reloadButton.OnMouseOut  += UICommon.FadedMouseOut;
            reloadButton.OnClick     += ReloadList;
            uIElement.Append(reloadButton);

            UITextPanel <string> backButton = new UITextPanel <string>(Language.GetTextValue("UI.Back"), 1f, false);

            backButton.Width.Set(-10f, 0.5f);
            backButton.Height.Set(25f, 0f);
            backButton.VAlign = 1f;
            backButton.Top.Set(-20f, 0f);
            backButton.OnMouseOver += UICommon.FadedMouseOver;
            backButton.OnMouseOut  += UICommon.FadedMouseOut;
            backButton.OnClick     += BackClick;
            uIElement.Append(backButton);

            clearButton = new UITextPanel <string>(Language.GetTextValue("tModLoader.MBClearSpecialFilter", "??"), 1f, false);
            clearButton.Width.Set(-10f, 0.5f);
            clearButton.Height.Set(25f, 0f);
            clearButton.HAlign = 1f;
            clearButton.VAlign = 1f;
            clearButton.Top.Set(-65f, 0f);
            clearButton.BackgroundColor = Color.Purple * 0.7f;
            clearButton.OnMouseOver    += (s, e) => UICommon.CustomFadedMouseOver(Color.Purple, s, e);
            clearButton.OnMouseOut     += (s, e) => UICommon.CustomFadedMouseOut(Color.Purple * 0.7f, s, e);
            clearButton.OnClick        += (s, e) =>
            {
                Interface.modBrowser.SpecialModPackFilter      = null;
                Interface.modBrowser.SpecialModPackFilterTitle = null;
                Interface.modBrowser.updateNeeded = true;
                Main.PlaySound(SoundID.MenuTick);
            };

            downloadAllButton = new UITextPanel <string>(Language.GetTextValue("tModLoader.MBDownloadAll"), 1f, false);
            downloadAllButton.Width.Set(-10f, 0.5f);
            downloadAllButton.Height.Set(25f, 0f);
            downloadAllButton.HAlign = 1f;
            downloadAllButton.VAlign = 1f;
            downloadAllButton.Top.Set(-20f, 0f);
            downloadAllButton.BackgroundColor = Color.Azure * 0.7f;
            downloadAllButton.OnMouseOver    += (s, e) => UICommon.CustomFadedMouseOver(Color.Azure, s, e);
            downloadAllButton.OnMouseOut     += (s, e) => UICommon.CustomFadedMouseOut(Color.Azure * 0.7f, s, e);
            downloadAllButton.OnClick        += (s, e) => DownloadMods(SpecialModPackFilter, SpecialModPackFilterTitle);

            updateAllButton = new UITextPanel <string>(Language.GetTextValue("tModLoader.MBUpdateAll"), 1f, false);
            updateAllButton.Width.Set(-10f, 0.5f);
            updateAllButton.Height.Set(25f, 0f);
            updateAllButton.HAlign = 1f;
            updateAllButton.VAlign = 1f;
            updateAllButton.Top.Set(-20f, 0f);
            updateAllButton.BackgroundColor = Color.Orange * 0.7f;
            updateAllButton.OnMouseOver    += (s, e) => UICommon.CustomFadedMouseOver(Color.Orange, s, e);
            updateAllButton.OnMouseOut     += (s, e) => UICommon.CustomFadedMouseOut(Color.Orange * 0.7f, s, e);
            updateAllButton.OnClick        += (s, e) =>
            {
                if (!loading)
                {
                    var updatableMods = items.Where(x => x.update && !x.updateIsDowngrade).Select(x => x.mod).ToList();
                    DownloadMods(updatableMods, Language.GetTextValue("tModLoader.MBUpdateAll"));
                }
            };

            Append(uIElement);

            UIElement upperMenuContainer = new UIElement();

            upperMenuContainer.Width.Set(0f, 1f);
            upperMenuContainer.Height.Set(32f, 0f);
            upperMenuContainer.Top.Set(10f, 0f);
            Texture2D texture = Texture2D.FromStream(Main.instance.GraphicsDevice, Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria.ModLoader.UI.UIModBrowserIcons.png"));

            SortModeFilterToggle = new UICycleImage(texture, 6, 32, 32, 0, 0);
            SortModeFilterToggle.setCurrentState((int)sortMode);
            SortModeFilterToggle.OnClick += (a, b) =>
            {
                sortMode     = sortMode.NextEnum();
                updateNeeded = true;
            };
            SortModeFilterToggle.OnRightClick += (a, b) =>
            {
                sortMode     = sortMode.PreviousEnum();
                updateNeeded = true;
            };
            SortModeFilterToggle.Left.Set((float)(0 * 36 + 8), 0f);
            _categoryButtons.Add(SortModeFilterToggle);
            upperMenuContainer.Append(SortModeFilterToggle);

            UpdateFilterToggle = new UICycleImage(texture, 3, 32, 32, 34, 0);
            UpdateFilterToggle.setCurrentState((int)updateFilterMode);
            UpdateFilterToggle.OnClick += (a, b) =>
            {
                updateFilterMode = updateFilterMode.NextEnum();
                updateNeeded     = true;
            };
            UpdateFilterToggle.OnRightClick += (a, b) =>
            {
                updateFilterMode = updateFilterMode.PreviousEnum();
                updateNeeded     = true;
            };
            UpdateFilterToggle.Left.Set((float)(1 * 36 + 8), 0f);
            _categoryButtons.Add(UpdateFilterToggle);
            upperMenuContainer.Append(UpdateFilterToggle);

            ModSideFilterToggle = new UICycleImage(texture, 5, 32, 32, 34 * 5, 0);
            ModSideFilterToggle.setCurrentState((int)modSideFilterMode);
            ModSideFilterToggle.OnClick += (a, b) =>
            {
                modSideFilterMode = modSideFilterMode.NextEnum();
                updateNeeded      = true;
            };
            ModSideFilterToggle.OnRightClick += (a, b) =>
            {
                modSideFilterMode = modSideFilterMode.PreviousEnum();
                updateNeeded      = true;
            };
            ModSideFilterToggle.Left.Set((float)(2 * 36 + 8), 0f);
            _categoryButtons.Add(ModSideFilterToggle);
            upperMenuContainer.Append(ModSideFilterToggle);

            UIPanel filterTextBoxBackground = new UIPanel();

            filterTextBoxBackground.Top.Set(0f, 0f);
            filterTextBoxBackground.Left.Set(-170, 1f);
            filterTextBoxBackground.Width.Set(135f, 0f);
            filterTextBoxBackground.Height.Set(40f, 0f);
            filterTextBoxBackground.OnRightClick += (a, b) => filterTextBox.SetText("");
            upperMenuContainer.Append(filterTextBoxBackground);

            filterTextBox = new UIInputTextField(Language.GetTextValue("tModLoader.ModsTypeToSearch"));
            filterTextBox.Top.Set(5, 0f);
            filterTextBox.Left.Set(-160, 1f);
            filterTextBox.Width.Set(100f, 0f);
            filterTextBox.Height.Set(10f, 0f);
            filterTextBox.OnTextChange += (sender, e) => updateNeeded = true;
            upperMenuContainer.Append(filterTextBox);

            SearchFilterToggle = new UICycleImage(texture, 2, 32, 32, 34 * 2, 0);
            SearchFilterToggle.setCurrentState((int)searchFilterMode);
            SearchFilterToggle.OnClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.NextEnum();
                updateNeeded     = true;
            };
            SearchFilterToggle.OnRightClick += (a, b) =>
            {
                searchFilterMode = searchFilterMode.PreviousEnum();
                updateNeeded     = true;
            };
            SearchFilterToggle.Left.Set(545f, 0f);
            _categoryButtons.Add(SearchFilterToggle);
            upperMenuContainer.Append(SearchFilterToggle);
            uIPanel.Append(upperMenuContainer);
        }