private void MainCategoryButtonClick(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <int> groupOptionButton = listeningElement as GroupOptionButton <int>; ToggleMainCategory(groupOptionButton.OptionValue); RefreshElementsOrder(); }
private UIElement CreatePackToggleButton(ResourcePack resourcePack) { Language.GetText(resourcePack.IsEnabled ? "GameUI.Enabled" : "GameUI.Disabled"); GroupOptionButton <bool> groupOptionButton = new GroupOptionButton <bool>(option: true, null, null, Color.White, null, 0.8f); groupOptionButton.Left = StyleDimension.FromPercent(0.5f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent(0f, 0.5f); groupOptionButton.Height = StyleDimension.Fill; groupOptionButton.SetColorsBasedOnSelectionState(Color.LightGreen, Color.PaleVioletRed, 0.7f, 0.7f); groupOptionButton.SetCurrentOption(resourcePack.IsEnabled); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetPadding(0f); Asset <Texture2D> obj = Main.Assets.Request <Texture2D>("Images/UI/TexturePackButtons", (AssetRequestMode)1); UIImageFramed element = new UIImageFramed(obj, obj.Frame(2, 2, (!resourcePack.IsEnabled) ? 1 : 0, 1)) { HAlign = 0.5f, VAlign = 0.5f, IgnoresMouseInteraction = true }; groupOptionButton.Append(element); groupOptionButton.OnMouseOver += delegate { SoundEngine.PlaySound(12); }; groupOptionButton.OnClick += delegate { SoundEngine.PlaySound(12); resourcePack.IsEnabled = !resourcePack.IsEnabled; SetResourcePackAsTopPriority(resourcePack); PopulatePackList(); Main.instance.TilePaintSystem.Reset(); }; return(groupOptionButton); }
private UIElement CreatePackToggleButton(ResourcePack resourcePack) { Language.GetText(resourcePack.IsEnabled ? "GameUI.Enabled" : "GameUI.Disabled"); GroupOptionButton <bool> groupOptionButton = new GroupOptionButton <bool>(true, (LocalizedText)null, (LocalizedText)null, Color.White, (string)null, 0.8f, 0.5f, 10f); groupOptionButton.Left = StyleDimension.FromPercent(0.5f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent(0.0f, 0.5f); groupOptionButton.Height = StyleDimension.Fill; groupOptionButton.SetColorsBasedOnSelectionState(Color.LightGreen, Color.PaleVioletRed, 0.7f, 0.7f); groupOptionButton.SetCurrentOption(resourcePack.IsEnabled); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetPadding(0.0f); Asset <M0> asset = Main.Assets.Request <Texture2D>("Images/UI/TexturePackButtons", (AssetRequestMode)1); UIImageFramed uiImageFramed = new UIImageFramed((Asset <Texture2D>)asset, ((Asset <Texture2D>)asset).Frame(2, 2, resourcePack.IsEnabled ? 0 : 1, 1, 0, 0)); uiImageFramed.HAlign = 0.5f; uiImageFramed.VAlign = 0.5f; uiImageFramed.IgnoresMouseInteraction = true; groupOptionButton.Append((UIElement)uiImageFramed); groupOptionButton.OnMouseOver += (UIElement.MouseEvent)((evt, listeningElement) => SoundEngine.PlaySound(12, -1, -1, 1, 1f, 0.0f)); groupOptionButton.OnClick += (UIElement.MouseEvent)((evt, listeningElement) => { SoundEngine.PlaySound(12, -1, -1, 1, 1f, 0.0f); resourcePack.IsEnabled = !resourcePack.IsEnabled; this.SetResourcePackAsTopPriority(resourcePack); this.PopulatePackList(); }); return((UIElement)groupOptionButton); }
private void AddWorldDifficultyOptions( UIElement container, float accumualtedHeight, UIElement.MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { UIWorldCreation.WorldDifficultyId[] worldDifficultyIdArray = new UIWorldCreation.WorldDifficultyId[4] { UIWorldCreation.WorldDifficultyId.Creative, UIWorldCreation.WorldDifficultyId.Normal, UIWorldCreation.WorldDifficultyId.Expert, UIWorldCreation.WorldDifficultyId.Master }; LocalizedText[] localizedTextArray1 = new LocalizedText[4] { Language.GetText("UI.Creative"), Language.GetText("UI.Normal"), Language.GetText("UI.Expert"), Language.GetText("UI.Master") }; LocalizedText[] localizedTextArray2 = new LocalizedText[4] { Language.GetText("UI.WorldDescriptionCreative"), Language.GetText("UI.WorldDescriptionNormal"), Language.GetText("UI.WorldDescriptionExpert"), Language.GetText("UI.WorldDescriptionMaster") }; Color[] colorArray = new Color[4] { Main.creativeModeColor, Color.White, Main.mcColor, Main.hcColor }; string[] strArray = new string[4] { "Images/UI/WorldCreation/IconDifficultyCreative", "Images/UI/WorldCreation/IconDifficultyNormal", "Images/UI/WorldCreation/IconDifficultyExpert", "Images/UI/WorldCreation/IconDifficultyMaster" }; GroupOptionButton <UIWorldCreation.WorldDifficultyId>[] groupOptionButtonArray = new GroupOptionButton <UIWorldCreation.WorldDifficultyId> [worldDifficultyIdArray.Length]; for (int id = 0; id < groupOptionButtonArray.Length; ++id) { GroupOptionButton <UIWorldCreation.WorldDifficultyId> groupOptionButton = new GroupOptionButton <UIWorldCreation.WorldDifficultyId>(worldDifficultyIdArray[id], localizedTextArray1[id], localizedTextArray2[id], colorArray[id], strArray[id], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent((float)(-1 * (groupOptionButtonArray.Length - 1)), 1f / (float)groupOptionButtonArray.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)id / (float)(groupOptionButtonArray.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0.0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += new UIElement.MouseEvent(this.ShowOptionDescription); groupOptionButton.OnMouseOut += new UIElement.MouseEvent(this.ClearOptionDescription); groupOptionButton.SetSnapPoint(tagGroup, id, new Vector2?(), new Vector2?()); container.Append((UIElement)groupOptionButton); groupOptionButtonArray[id] = groupOptionButton; } this._difficultyButtons = groupOptionButtonArray; }
private UIElement CreateOffsetButton(ResourcePack resourcePack, int offset) { GroupOptionButton <bool> groupOptionButton = new GroupOptionButton <bool>(option: true, null, null, Color.White, null, 0.8f) { Left = StyleDimension.FromPercent(0.5f), Width = StyleDimension.FromPixelsAndPercent(0f, 0.5f), Height = StyleDimension.Fill }; bool num = (offset == -1 && resourcePack.SortingOrder == 0) | (offset == 1 && resourcePack.SortingOrder == _packsList.EnabledPacks.Count() - 1); Color lightCyan = Color.LightCyan; groupOptionButton.SetColorsBasedOnSelectionState(lightCyan, lightCyan, 0.7f, 0.7f); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetPadding(0f); Asset <Texture2D> obj = Main.Assets.Request <Texture2D>("Images/UI/TexturePackButtons", Main.content, (AssetRequestMode)1); UIImageFramed element = new UIImageFramed(obj, obj.Frame(2, 2, (offset == 1) ? 1 : 0)) { HAlign = 0.5f, VAlign = 0.5f, IgnoresMouseInteraction = true }; groupOptionButton.Append(element); groupOptionButton.OnMouseOver += delegate { SoundEngine.PlaySound(12); }; int offsetLocalForLambda = offset; if (num) { groupOptionButton.OnClick += delegate { SoundEngine.PlaySound(12); }; } else { groupOptionButton.OnClick += delegate { SoundEngine.PlaySound(12); OffsetResourcePackPriority(resourcePack, offsetLocalForLambda); PopulatePackList(); Main.instance.TilePaintSystem.Reset(); }; } if (offset == 1) { groupOptionButton.OnUpdate += OffsetFrontwardUpdate; } else { groupOptionButton.OnUpdate += OffsetBackwardUpdate; } return(groupOptionButton); }
private void AddWorldDifficultyOptions(UIElement container, float accumualtedHeight, MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { WorldDifficultyId[] array = new WorldDifficultyId[4] { WorldDifficultyId.Creative, WorldDifficultyId.Normal, WorldDifficultyId.Expert, WorldDifficultyId.Master }; LocalizedText[] array2 = new LocalizedText[4] { Language.GetText("UI.Creative"), Language.GetText("UI.Normal"), Language.GetText("UI.Expert"), Language.GetText("UI.Master") }; LocalizedText[] array3 = new LocalizedText[4] { Language.GetText("UI.WorldDescriptionCreative"), Language.GetText("UI.WorldDescriptionNormal"), Language.GetText("UI.WorldDescriptionExpert"), Language.GetText("UI.WorldDescriptionMaster") }; Color[] array4 = new Color[4] { Main.creativeModeColor, Color.White, Main.mcColor, Main.hcColor }; string[] array5 = new string[4] { "Images/UI/WorldCreation/IconDifficultyCreative", "Images/UI/WorldCreation/IconDifficultyNormal", "Images/UI/WorldCreation/IconDifficultyExpert", "Images/UI/WorldCreation/IconDifficultyMaster" }; GroupOptionButton <WorldDifficultyId>[] array6 = new GroupOptionButton <WorldDifficultyId> [array.Length]; for (int i = 0; i < array6.Length; i++) { GroupOptionButton <WorldDifficultyId> groupOptionButton = new GroupOptionButton <WorldDifficultyId>(array[i], array2[i], array3[i], array4[i], array5[i], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent(-1 * (array6.Length - 1), 1f / (float)array6.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)i / (float)(array6.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += ShowOptionDescription; groupOptionButton.OnMouseOut += ClearOptionDescription; groupOptionButton.SetSnapPoint(tagGroup, i); container.Append(groupOptionButton); array6[i] = groupOptionButton; } _difficultyButtons = array6; }
private void ClickEvilOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <UIWorldCreation.WorldEvilId> groupOptionButton = (GroupOptionButton <UIWorldCreation.WorldEvilId>)listeningElement; this._optionEvil = groupOptionButton.OptionValue; foreach (GroupOptionButton <UIWorldCreation.WorldEvilId> evilButton in this._evilButtons) { evilButton.SetCurrentOption(groupOptionButton.OptionValue); } this.UpdatePreviewPlate(); }
private void TimeCategoryButtonClick(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <int> groupOptionButton = listeningElement as GroupOptionButton <int>; int optionValue = groupOptionButton.OptionValue; if (optionValue != 1 || CreativePowerManager.Instance.GetPower <CreativePowers.ModifyTimeRate>().GetIsUnlocked()) { ToggleTimeCategory(groupOptionButton.OptionValue); RefreshElementsOrder(); } }
private void ClickSizeOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <UIWorldCreation.WorldSizeId> groupOptionButton = (GroupOptionButton <UIWorldCreation.WorldSizeId>)listeningElement; this._optionSize = groupOptionButton.OptionValue; foreach (GroupOptionButton <UIWorldCreation.WorldSizeId> sizeButton in this._sizeButtons) { sizeButton.SetCurrentOption(groupOptionButton.OptionValue); } this.UpdatePreviewPlate(); }
private static void CategoryButton_OnUpdate_DisplayTooltips(UIElement affectedElement, string categoryNameKey) { GroupOptionButton <int> groupOptionButton = affectedElement as GroupOptionButton <int>; if (affectedElement.IsMouseHovering) { string originalText = Language.GetTextValue(groupOptionButton.IsSelected ? (categoryNameKey + "Opened") : (categoryNameKey + "Closed")); CreativePowersHelper.AddDescriptionIfNeeded(ref originalText, categoryNameKey); Main.instance.MouseTextNoOverride(originalText, 0, 0); } }
private void AddWorldEvilOptions( UIElement container, float accumualtedHeight, UIElement.MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { UIWorldCreation.WorldEvilId[] worldEvilIdArray = new UIWorldCreation.WorldEvilId[3] { UIWorldCreation.WorldEvilId.Random, UIWorldCreation.WorldEvilId.Corruption, UIWorldCreation.WorldEvilId.Crimson }; LocalizedText[] localizedTextArray1 = new LocalizedText[3] { Lang.misc[103], Lang.misc[101], Lang.misc[102] }; LocalizedText[] localizedTextArray2 = new LocalizedText[3] { Language.GetText("UI.WorldDescriptionEvilRandom"), Language.GetText("UI.WorldDescriptionEvilCorrupt"), Language.GetText("UI.WorldDescriptionEvilCrimson") }; Color[] colorArray = new Color[3] { Color.White, Color.MediumPurple, Color.IndianRed }; string[] strArray = new string[3] { "Images/UI/WorldCreation/IconEvilRandom", "Images/UI/WorldCreation/IconEvilCorruption", "Images/UI/WorldCreation/IconEvilCrimson" }; GroupOptionButton <UIWorldCreation.WorldEvilId>[] groupOptionButtonArray = new GroupOptionButton <UIWorldCreation.WorldEvilId> [worldEvilIdArray.Length]; for (int id = 0; id < groupOptionButtonArray.Length; ++id) { GroupOptionButton <UIWorldCreation.WorldEvilId> groupOptionButton = new GroupOptionButton <UIWorldCreation.WorldEvilId>(worldEvilIdArray[id], localizedTextArray1[id], localizedTextArray2[id], colorArray[id], strArray[id], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent((float)(-4 * (groupOptionButtonArray.Length - 1)), 1f / (float)groupOptionButtonArray.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)id / (float)(groupOptionButtonArray.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0.0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += new UIElement.MouseEvent(this.ShowOptionDescription); groupOptionButton.OnMouseOut += new UIElement.MouseEvent(this.ClearOptionDescription); groupOptionButton.SetSnapPoint(tagGroup, id, new Vector2?(), new Vector2?()); container.Append((UIElement)groupOptionButton); groupOptionButtonArray[id] = groupOptionButton; } this._evilButtons = groupOptionButtonArray; }
public static GroupOptionButton <T> CreateCategoryButton <T>(CreativePowerUIElementRequestInfo info, T option, T currentOption) where T : IConvertible, IEquatable <T> { GroupOptionButton <T> groupOptionButton = new GroupOptionButton <T>(option, null, null, Color.White, null, 0.8f); groupOptionButton.Width = new StyleDimension(info.PreferredButtonWidth, 0f); groupOptionButton.Height = new StyleDimension(info.PreferredButtonHeight, 0f); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetCurrentOption(currentOption); groupOptionButton.SetColorsBasedOnSelectionState(new Color(152, 175, 235), Colors.InventoryDefaultColor, 1f, 0.7f); return(groupOptionButton); }
private void AddWorldSizeOptions( UIElement container, float accumualtedHeight, UIElement.MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { UIWorldCreation.WorldSizeId[] worldSizeIdArray = new UIWorldCreation.WorldSizeId[3] { UIWorldCreation.WorldSizeId.Small, UIWorldCreation.WorldSizeId.Medium, UIWorldCreation.WorldSizeId.Large }; LocalizedText[] localizedTextArray1 = new LocalizedText[3] { Lang.menu[92], Lang.menu[93], Lang.menu[94] }; LocalizedText[] localizedTextArray2 = new LocalizedText[3] { Language.GetText("UI.WorldDescriptionSizeSmall"), Language.GetText("UI.WorldDescriptionSizeMedium"), Language.GetText("UI.WorldDescriptionSizeLarge") }; Color[] colorArray = new Color[3] { Color.Cyan, Color.Lerp(Color.Cyan, Color.LimeGreen, 0.5f), Color.LimeGreen }; string[] strArray = new string[3] { "Images/UI/WorldCreation/IconSizeSmall", "Images/UI/WorldCreation/IconSizeMedium", "Images/UI/WorldCreation/IconSizeLarge" }; GroupOptionButton <UIWorldCreation.WorldSizeId>[] groupOptionButtonArray = new GroupOptionButton <UIWorldCreation.WorldSizeId> [worldSizeIdArray.Length]; for (int id = 0; id < groupOptionButtonArray.Length; ++id) { GroupOptionButton <UIWorldCreation.WorldSizeId> groupOptionButton = new GroupOptionButton <UIWorldCreation.WorldSizeId>(worldSizeIdArray[id], localizedTextArray1[id], localizedTextArray2[id], colorArray[id], strArray[id], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent((float)(-4 * (groupOptionButtonArray.Length - 1)), 1f / (float)groupOptionButtonArray.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)id / (float)(groupOptionButtonArray.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0.0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += new UIElement.MouseEvent(this.ShowOptionDescription); groupOptionButton.OnMouseOut += new UIElement.MouseEvent(this.ClearOptionDescription); groupOptionButton.SetSnapPoint(tagGroup, id, new Vector2?(), new Vector2?()); container.Append((UIElement)groupOptionButton); groupOptionButtonArray[id] = groupOptionButton; } this._sizeButtons = groupOptionButtonArray; }
public static GroupOptionButton <bool> CreateSimpleButton(CreativePowerUIElementRequestInfo info) { GroupOptionButton <bool> groupOptionButton = new GroupOptionButton <bool>(option: true, null, null, Color.White, null, 0.8f); groupOptionButton.Width = new StyleDimension(info.PreferredButtonWidth, 0f); groupOptionButton.Height = new StyleDimension(info.PreferredButtonHeight, 0f); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetCurrentOption(option: false); groupOptionButton.SetColorsBasedOnSelectionState(new Color(152, 175, 235), Colors.InventoryDefaultColor, 1f, 0.7f); return(groupOptionButton); }
private void PersonalCategoryButtonClick(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <int> groupOptionButton = listeningElement as GroupOptionButton <int>; if (groupOptionButton.OptionValue == 1 && !CreativePowerManager.Instance.GetPower <CreativePowers.SpawnRateSliderPerPlayerPower>().GetIsUnlocked()) { return; } this.TogglePersonalCategory(groupOptionButton.OptionValue); this.RefreshElementsOrder(); }
private void ClickDifficultyOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <UIWorldCreation.WorldDifficultyId> groupOptionButton = (GroupOptionButton <UIWorldCreation.WorldDifficultyId>)listeningElement; this._optionDifficulty = groupOptionButton.OptionValue; foreach (GroupOptionButton <UIWorldCreation.WorldDifficultyId> difficultyButton in this._difficultyButtons) { difficultyButton.SetCurrentOption(groupOptionButton.OptionValue); } this.UpdatePreviewPlate(); }
private void ClickSizeOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <WorldSizeId> groupOptionButton = (GroupOptionButton <WorldSizeId>)listeningElement; _optionSize = groupOptionButton.OptionValue; GroupOptionButton <WorldSizeId>[] sizeButtons = _sizeButtons; for (int i = 0; i < sizeButtons.Length; i++) { sizeButtons[i].SetCurrentOption(groupOptionButton.OptionValue); } UpdatePreviewPlate(); }
private List <UIElement> CreateMainPowerStrip() { MenuTree <OpenMainSubCategory> mainCategory = _mainCategory; mainCategory.Buttons.Clear(); List <UIElement> list = new List <UIElement>(); CreativePowerUIElementRequestInfo creativePowerUIElementRequestInfo = default(CreativePowerUIElementRequestInfo); creativePowerUIElementRequestInfo.PreferredButtonWidth = 40; creativePowerUIElementRequestInfo.PreferredButtonHeight = 40; CreativePowerUIElementRequestInfo request = creativePowerUIElementRequestInfo; GroupOptionButton <int> groupOptionButton = CreativePowersHelper.CreateCategoryButton(request, 1, 0); groupOptionButton.Append(CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.ItemDuplication)); groupOptionButton.OnClick += MainCategoryButtonClick; groupOptionButton.OnUpdate += itemsWindowButton_OnUpdate; mainCategory.Buttons.Add(1, groupOptionButton); list.Add(groupOptionButton); GroupOptionButton <int> groupOptionButton2 = CreativePowersHelper.CreateCategoryButton(request, 2, 0); groupOptionButton2.Append(CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.ItemResearch)); groupOptionButton2.OnClick += MainCategoryButtonClick; groupOptionButton2.OnUpdate += researchWindowButton_OnUpdate; mainCategory.Buttons.Add(2, groupOptionButton2); list.Add(groupOptionButton2); GroupOptionButton <int> groupOptionButton3 = CreativePowersHelper.CreateCategoryButton(request, 3, 0); groupOptionButton3.Append(CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.TimeCategory)); groupOptionButton3.OnClick += MainCategoryButtonClick; groupOptionButton3.OnUpdate += timeCategoryButton_OnUpdate; mainCategory.Buttons.Add(3, groupOptionButton3); list.Add(groupOptionButton3); GroupOptionButton <int> groupOptionButton4 = CreativePowersHelper.CreateCategoryButton(request, 4, 0); groupOptionButton4.Append(CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.WeatherCategory)); groupOptionButton4.OnClick += MainCategoryButtonClick; groupOptionButton4.OnUpdate += weatherCategoryButton_OnUpdate; mainCategory.Buttons.Add(4, groupOptionButton4); list.Add(groupOptionButton4); GroupOptionButton <int> groupOptionButton5 = CreativePowersHelper.CreateCategoryButton(request, 6, 0); groupOptionButton5.Append(CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.PersonalCategory)); groupOptionButton5.OnClick += MainCategoryButtonClick; groupOptionButton5.OnUpdate += personalCategoryButton_OnUpdate; mainCategory.Buttons.Add(6, groupOptionButton5); list.Add(groupOptionButton5); CreativePowerManager.Instance.GetPower <CreativePowers.StopBiomeSpreadPower>().ProvidePowerButtons(request, list); GroupOptionButton <int> groupOptionButton6 = CreateSubcategoryButton <CreativePowers.DifficultySliderPower>(ref request, 1, "strip 1", 5, 0, mainCategory.Buttons, mainCategory.Sliders); groupOptionButton6.OnClick += MainCategoryButtonClick; list.Add(groupOptionButton6); return(list); }
private void ClickDifficultyOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <WorldDifficultyId> groupOptionButton = (GroupOptionButton <WorldDifficultyId>)listeningElement; _optionDifficulty = groupOptionButton.OptionValue; GroupOptionButton <WorldDifficultyId>[] difficultyButtons = _difficultyButtons; for (int i = 0; i < difficultyButtons.Length; i++) { difficultyButtons[i].SetCurrentOption(groupOptionButton.OptionValue); } UpdatePreviewPlate(); }
private void ClickEvilOption(UIMouseEvent evt, UIElement listeningElement) { GroupOptionButton <WorldEvilId> groupOptionButton = (GroupOptionButton <WorldEvilId>)listeningElement; _optionEvil = groupOptionButton.OptionValue; GroupOptionButton <WorldEvilId>[] evilButtons = _evilButtons; for (int i = 0; i < evilButtons.Length; i++) { evilButtons[i].SetCurrentOption(groupOptionButton.OptionValue); } UpdatePreviewPlate(); }
private List <UIElement> CreateMainPowerStrip() { UICreativePowersMenu.MenuTree <UICreativePowersMenu.OpenMainSubCategory> mainCategory = this._mainCategory; mainCategory.Buttons.Clear(); List <UIElement> elements = new List <UIElement>(); CreativePowerUIElementRequestInfo request = new CreativePowerUIElementRequestInfo() { PreferredButtonWidth = 40, PreferredButtonHeight = 40 }; GroupOptionButton <int> categoryButton1 = CreativePowersHelper.CreateCategoryButton <int>(request, 1, 0); categoryButton1.Append((UIElement)CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.ItemDuplication)); categoryButton1.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); categoryButton1.OnUpdate += new UIElement.ElementEvent(this.itemsWindowButton_OnUpdate); mainCategory.Buttons.Add(1, categoryButton1); elements.Add((UIElement)categoryButton1); GroupOptionButton <int> categoryButton2 = CreativePowersHelper.CreateCategoryButton <int>(request, 2, 0); categoryButton2.Append((UIElement)CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.ItemResearch)); categoryButton2.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); categoryButton2.OnUpdate += new UIElement.ElementEvent(this.researchWindowButton_OnUpdate); mainCategory.Buttons.Add(2, categoryButton2); elements.Add((UIElement)categoryButton2); GroupOptionButton <int> categoryButton3 = CreativePowersHelper.CreateCategoryButton <int>(request, 3, 0); categoryButton3.Append((UIElement)CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.TimeCategory)); categoryButton3.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); categoryButton3.OnUpdate += new UIElement.ElementEvent(this.timeCategoryButton_OnUpdate); mainCategory.Buttons.Add(3, categoryButton3); elements.Add((UIElement)categoryButton3); GroupOptionButton <int> categoryButton4 = CreativePowersHelper.CreateCategoryButton <int>(request, 4, 0); categoryButton4.Append((UIElement)CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.WeatherCategory)); categoryButton4.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); categoryButton4.OnUpdate += new UIElement.ElementEvent(this.weatherCategoryButton_OnUpdate); mainCategory.Buttons.Add(4, categoryButton4); elements.Add((UIElement)categoryButton4); GroupOptionButton <int> categoryButton5 = CreativePowersHelper.CreateCategoryButton <int>(request, 6, 0); categoryButton5.Append((UIElement)CreativePowersHelper.GetIconImage(CreativePowersHelper.CreativePowerIconLocations.PersonalCategory)); categoryButton5.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); categoryButton5.OnUpdate += new UIElement.ElementEvent(this.personalCategoryButton_OnUpdate); mainCategory.Buttons.Add(6, categoryButton5); elements.Add((UIElement)categoryButton5); CreativePowerManager.Instance.GetPower <CreativePowers.StopBiomeSpreadPower>().ProvidePowerButtons(request, elements); GroupOptionButton <int> subcategoryButton = this.CreateSubcategoryButton <CreativePowers.DifficultySliderPower>(ref request, 1, "strip 1", 5, 0, mainCategory.Buttons, mainCategory.Sliders); subcategoryButton.OnClick += new UIElement.MouseEvent(this.MainCategoryButtonClick); elements.Add((UIElement)subcategoryButton); return(elements); }
public static GroupOptionButton <bool> CreateToggleButton( CreativePowerUIElementRequestInfo info) { GroupOptionButton <bool> groupOptionButton = new GroupOptionButton <bool>(true, (LocalizedText)null, (LocalizedText)null, Color.White, (string)null, 0.8f, 0.5f, 10f); groupOptionButton.Width = new StyleDimension((float)info.PreferredButtonWidth, 0.0f); groupOptionButton.Height = new StyleDimension((float)info.PreferredButtonHeight, 0.0f); groupOptionButton.ShowHighlightWhenSelected = false; groupOptionButton.SetCurrentOption(false); groupOptionButton.SetColorsBasedOnSelectionState(new Color(152, 175, 235), Colors.InventoryDefaultColor, 1f, 0.7f); groupOptionButton.SetColorsBasedOnSelectionState(Main.OurFavoriteColor, Colors.InventoryDefaultColor, 1f, 0.7f); return(groupOptionButton); }
private GroupOptionButton <int> CreateSubcategoryButton <T>(ref CreativePowerUIElementRequestInfo request, int subcategoryDepth, string subcategoryName, int subcategoryIndex, int currentSelectedInSubcategory, Dictionary <int, GroupOptionButton <int> > subcategoryButtons, Dictionary <int, UIElement> slidersSet) where T : ICreativePower, IProvideSliderElement, IPowerSubcategoryElement { T power = CreativePowerManager.Instance.GetPower <T>(); UIElement uIElement = power.ProvideSlider(); uIElement.Left = new StyleDimension(20 + subcategoryDepth * 60, 0f); slidersSet[subcategoryIndex] = uIElement; uIElement.SetSnapPoint(subcategoryName, 0, new Vector2(0f, 0.5f), new Vector2(28f, 0f)); GroupOptionButton <int> groupOptionButton = subcategoryButtons[subcategoryIndex] = power.GetOptionButton(request, subcategoryIndex, currentSelectedInSubcategory); CreativePowersHelper.UpdateUnlockStateByPower(power, groupOptionButton, CreativePowersHelper.CommonSelectedColor); return(groupOptionButton); }
private UIElement CreateOffsetButton(ResourcePack resourcePack, int offset) { GroupOptionButton <bool> groupOptionButton1 = new GroupOptionButton <bool>(true, (LocalizedText)null, (LocalizedText)null, Color.White, (string)null, 0.8f, 0.5f, 10f); groupOptionButton1.Left = StyleDimension.FromPercent(0.5f); groupOptionButton1.Width = StyleDimension.FromPixelsAndPercent(0.0f, 0.5f); groupOptionButton1.Height = StyleDimension.Fill; GroupOptionButton <bool> groupOptionButton2 = groupOptionButton1; int num = (offset != -1 ? 0 : (resourcePack.SortingOrder == 0 ? 1 : 0)) | (offset != 1 ? 0 : (resourcePack.SortingOrder == this._packsList.EnabledPacks.Count <ResourcePack>() - 1 ? 1 : 0)); Color lightCyan = Color.LightCyan; groupOptionButton2.SetColorsBasedOnSelectionState(lightCyan, lightCyan, 0.7f, 0.7f); groupOptionButton2.ShowHighlightWhenSelected = false; groupOptionButton2.SetPadding(0.0f); Asset <Texture2D> asset = Main.Assets.Request <Texture2D>("Images/UI/TexturePackButtons", (AssetRequestMode)1); UIImageFramed uiImageFramed1 = new UIImageFramed((Asset <Texture2D>)asset, ((Asset <Texture2D>)asset).Frame(2, 2, offset == 1 ? 1 : 0, 0, 0, 0)); uiImageFramed1.HAlign = 0.5f; uiImageFramed1.VAlign = 0.5f; uiImageFramed1.IgnoresMouseInteraction = true; UIImageFramed uiImageFramed2 = uiImageFramed1; groupOptionButton2.Append((UIElement)uiImageFramed2); groupOptionButton2.OnMouseOver += (UIElement.MouseEvent)((evt, listeningElement) => SoundEngine.PlaySound(12, -1, -1, 1, 1f, 0.0f)); int offsetLocalForLambda = offset; if (num != 0) { groupOptionButton2.OnClick += (UIElement.MouseEvent)((evt, listeningElement) => SoundEngine.PlaySound(12, -1, -1, 1, 1f, 0.0f)); } else { groupOptionButton2.OnClick += (UIElement.MouseEvent)((evt, listeningElement) => { SoundEngine.PlaySound(12, -1, -1, 1, 1f, 0.0f); this.OffsetResourcePackPriority(resourcePack, offsetLocalForLambda); this.PopulatePackList(); Main.instance.TilePaintSystem.Reset(); }); } if (offset == 1) { groupOptionButton2.OnUpdate += new UIElement.ElementEvent(this.OffsetFrontwardUpdate); } else { groupOptionButton2.OnUpdate += new UIElement.ElementEvent(this.OffsetBackwardUpdate); } return((UIElement)groupOptionButton2); }
private void AddWorldEvilOptions(UIElement container, float accumualtedHeight, MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { WorldEvilId[] array = new WorldEvilId[3] { WorldEvilId.Random, WorldEvilId.Corruption, WorldEvilId.Crimson }; LocalizedText[] array2 = new LocalizedText[3] { Lang.misc[103], Lang.misc[101], Lang.misc[102] }; LocalizedText[] array3 = new LocalizedText[3] { Language.GetText("UI.WorldDescriptionEvilRandom"), Language.GetText("UI.WorldDescriptionEvilCorrupt"), Language.GetText("UI.WorldDescriptionEvilCrimson") }; Color[] array4 = new Color[3] { Color.White, Color.MediumPurple, Color.IndianRed }; string[] array5 = new string[3] { "Images/UI/WorldCreation/IconEvilRandom", "Images/UI/WorldCreation/IconEvilCorruption", "Images/UI/WorldCreation/IconEvilCrimson" }; GroupOptionButton <WorldEvilId>[] array6 = new GroupOptionButton <WorldEvilId> [array.Length]; for (int i = 0; i < array6.Length; i++) { GroupOptionButton <WorldEvilId> groupOptionButton = new GroupOptionButton <WorldEvilId>(array[i], array2[i], array3[i], array4[i], array5[i], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent(-4 * (array6.Length - 1), 1f / (float)array6.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)i / (float)(array6.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += ShowOptionDescription; groupOptionButton.OnMouseOut += ClearOptionDescription; groupOptionButton.SetSnapPoint(tagGroup, i); container.Append(groupOptionButton); array6[i] = groupOptionButton; } _evilButtons = array6; }
private void AddWorldSizeOptions(UIElement container, float accumualtedHeight, MouseEvent clickEvent, string tagGroup, float usableWidthPercent) { WorldSizeId[] array = new WorldSizeId[3] { WorldSizeId.Small, WorldSizeId.Medium, WorldSizeId.Large }; LocalizedText[] array2 = new LocalizedText[3] { Lang.menu[92], Lang.menu[93], Lang.menu[94] }; LocalizedText[] array3 = new LocalizedText[3] { Language.GetText("UI.WorldDescriptionSizeSmall"), Language.GetText("UI.WorldDescriptionSizeMedium"), Language.GetText("UI.WorldDescriptionSizeLarge") }; Color[] array4 = new Color[3] { Color.Cyan, Color.Lerp(Color.Cyan, Color.LimeGreen, 0.5f), Color.LimeGreen }; string[] array5 = new string[3] { "Images/UI/WorldCreation/IconSizeSmall", "Images/UI/WorldCreation/IconSizeMedium", "Images/UI/WorldCreation/IconSizeLarge" }; GroupOptionButton <WorldSizeId>[] array6 = new GroupOptionButton <WorldSizeId> [array.Length]; for (int i = 0; i < array6.Length; i++) { GroupOptionButton <WorldSizeId> groupOptionButton = new GroupOptionButton <WorldSizeId>(array[i], array2[i], array3[i], array4[i], array5[i], 1f, 1f, 16f); groupOptionButton.Width = StyleDimension.FromPixelsAndPercent(-4 * (array6.Length - 1), 1f / (float)array6.Length * usableWidthPercent); groupOptionButton.Left = StyleDimension.FromPercent(1f - usableWidthPercent); groupOptionButton.HAlign = (float)i / (float)(array6.Length - 1); groupOptionButton.Top.Set(accumualtedHeight, 0f); groupOptionButton.OnMouseDown += clickEvent; groupOptionButton.OnMouseOver += ShowOptionDescription; groupOptionButton.OnMouseOut += ClearOptionDescription; groupOptionButton.SetSnapPoint(tagGroup, i); container.Append(groupOptionButton); array6[i] = groupOptionButton; } _sizeButtons = array6; }
private static void CategoryButton_OnUpdate_DisplayTooltips( UIElement affectedElement, string categoryNameKey) { GroupOptionButton <int> groupOptionButton = affectedElement as GroupOptionButton <int>; if (!affectedElement.IsMouseHovering) { return; } string textValue = Language.GetTextValue(groupOptionButton.IsSelected ? categoryNameKey + "Opened" : categoryNameKey + "Closed"); CreativePowersHelper.AddDescriptionIfNeeded(ref textValue, categoryNameKey); Main.instance.MouseTextNoOverride(textValue, 0, (byte)0, -1, -1, -1, -1, 0); }
private List <UIElement> CreatePersonalPowerStrip() { MenuTree <PersonalSubcategory> personalCategory = _personalCategory; List <UIElement> list = new List <UIElement>(); CreativePowerUIElementRequestInfo creativePowerUIElementRequestInfo = default(CreativePowerUIElementRequestInfo); creativePowerUIElementRequestInfo.PreferredButtonWidth = 40; creativePowerUIElementRequestInfo.PreferredButtonHeight = 40; CreativePowerUIElementRequestInfo request = creativePowerUIElementRequestInfo; CreativePowerManager.Instance.GetPower <CreativePowers.GodmodePower>().ProvidePowerButtons(request, list); CreativePowerManager.Instance.GetPower <CreativePowers.FarPlacementRangePower>().ProvidePowerButtons(request, list); GroupOptionButton <int> groupOptionButton = CreateSubcategoryButton <CreativePowers.SpawnRateSliderPerPlayerPower>(ref request, 2, "strip 2", 1, 0, personalCategory.Buttons, personalCategory.Sliders); groupOptionButton.OnClick += PersonalCategoryButtonClick; list.Add(groupOptionButton); return(list); }
private List <UIElement> CreatePersonalPowerStrip() { UICreativePowersMenu.MenuTree <UICreativePowersMenu.PersonalSubcategory> personalCategory = this._personalCategory; List <UIElement> elements = new List <UIElement>(); CreativePowerUIElementRequestInfo request = new CreativePowerUIElementRequestInfo() { PreferredButtonWidth = 40, PreferredButtonHeight = 40 }; CreativePowerManager.Instance.GetPower <CreativePowers.GodmodePower>().ProvidePowerButtons(request, elements); CreativePowerManager.Instance.GetPower <CreativePowers.FarPlacementRangePower>().ProvidePowerButtons(request, elements); GroupOptionButton <int> subcategoryButton = this.CreateSubcategoryButton <CreativePowers.SpawnRateSliderPerPlayerPower>(ref request, 2, "strip 2", 1, 0, personalCategory.Buttons, personalCategory.Sliders); subcategoryButton.OnClick += new UIElement.MouseEvent(this.PersonalCategoryButtonClick); elements.Add((UIElement)subcategoryButton); return(elements); }
private List <UIElement> CreateWeatherPowerStrip() { UICreativePowersMenu.MenuTree <UICreativePowersMenu.WeatherSubcategory> weatherCategory = this._weatherCategory; List <UIElement> elements = new List <UIElement>(); CreativePowerUIElementRequestInfo request = new CreativePowerUIElementRequestInfo() { PreferredButtonWidth = 40, PreferredButtonHeight = 40 }; GroupOptionButton <int> subcategoryButton1 = this.CreateSubcategoryButton <CreativePowers.ModifyWindDirectionAndStrength>(ref request, 2, "strip 2", 1, 0, weatherCategory.Buttons, weatherCategory.Sliders); subcategoryButton1.OnClick += new UIElement.MouseEvent(this.WeatherCategoryButtonClick); elements.Add((UIElement)subcategoryButton1); CreativePowerManager.Instance.GetPower <CreativePowers.FreezeWindDirectionAndStrength>().ProvidePowerButtons(request, elements); GroupOptionButton <int> subcategoryButton2 = this.CreateSubcategoryButton <CreativePowers.ModifyRainPower>(ref request, 2, "strip 2", 2, 0, weatherCategory.Buttons, weatherCategory.Sliders); subcategoryButton2.OnClick += new UIElement.MouseEvent(this.WeatherCategoryButtonClick); elements.Add((UIElement)subcategoryButton2); CreativePowerManager.Instance.GetPower <CreativePowers.FreezeRainPower>().ProvidePowerButtons(request, elements); return(elements); }