Пример #1
0
        private void MainCategoryButtonClick(UIMouseEvent evt, UIElement listeningElement)
        {
            GroupOptionButton <int> groupOptionButton = listeningElement as GroupOptionButton <int>;

            ToggleMainCategory(groupOptionButton.OptionValue);
            RefreshElementsOrder();
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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);
        }
Пример #6
0
 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;
 }
Пример #7
0
        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();
        }
Пример #8
0
        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();
            }
        }
Пример #9
0
        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();
        }
Пример #10
0
        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);
            }
        }
Пример #11
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;
 }
Пример #12
0
        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);
        }
Пример #13
0
 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;
 }
Пример #14
0
        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);
        }
Пример #15
0
        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();
        }
Пример #16
0
        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();
        }
Пример #17
0
        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();
        }
Пример #18
0
        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);
        }
Пример #19
0
        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();
        }
Пример #20
0
        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();
        }
Пример #21
0
        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);
        }
Пример #22
0
        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);
        }
Пример #23
0
        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);
        }
Пример #24
0
        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);
        }
Пример #25
0
 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;
 }
Пример #26
0
 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;
 }
Пример #27
0
        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);
        }
Пример #28
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);
        }
Пример #29
0
        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);
        }
Пример #30
0
        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);
        }