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 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); }
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 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> 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> 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); }
private List <UIElement> CreateTimePowerStrip() { UICreativePowersMenu.MenuTree <UICreativePowersMenu.TimeSubcategory> timeCategory = this._timeCategory; List <UIElement> elements = new List <UIElement>(); CreativePowerUIElementRequestInfo request = new CreativePowerUIElementRequestInfo() { PreferredButtonWidth = 40, PreferredButtonHeight = 40 }; CreativePowerManager.Instance.GetPower <CreativePowers.FreezeTime>().ProvidePowerButtons(request, elements); CreativePowerManager.Instance.GetPower <CreativePowers.StartDayImmediately>().ProvidePowerButtons(request, elements); CreativePowerManager.Instance.GetPower <CreativePowers.StartNoonImmediately>().ProvidePowerButtons(request, elements); CreativePowerManager.Instance.GetPower <CreativePowers.StartNightImmediately>().ProvidePowerButtons(request, elements); CreativePowerManager.Instance.GetPower <CreativePowers.StartMidnightImmediately>().ProvidePowerButtons(request, elements); GroupOptionButton <int> subcategoryButton = this.CreateSubcategoryButton <CreativePowers.ModifyTimeRate>(ref request, 2, "strip 2", 1, 0, timeCategory.Buttons, timeCategory.Sliders); subcategoryButton.OnClick += new UIElement.MouseEvent(this.TimeCategoryButtonClick); elements.Add((UIElement)subcategoryButton); return(elements); }
private List <UIElement> CreateWeatherPowerStrip() { MenuTree <WeatherSubcategory> weatherCategory = _weatherCategory; List <UIElement> list = new List <UIElement>(); CreativePowerUIElementRequestInfo creativePowerUIElementRequestInfo = default(CreativePowerUIElementRequestInfo); creativePowerUIElementRequestInfo.PreferredButtonWidth = 40; creativePowerUIElementRequestInfo.PreferredButtonHeight = 40; CreativePowerUIElementRequestInfo request = creativePowerUIElementRequestInfo; GroupOptionButton <int> groupOptionButton = CreateSubcategoryButton <CreativePowers.ModifyWindDirectionAndStrength>(ref request, 2, "strip 2", 1, 0, weatherCategory.Buttons, weatherCategory.Sliders); groupOptionButton.OnClick += WeatherCategoryButtonClick; list.Add(groupOptionButton); CreativePowerManager.Instance.GetPower <CreativePowers.FreezeWindDirectionAndStrength>().ProvidePowerButtons(request, list); GroupOptionButton <int> groupOptionButton2 = CreateSubcategoryButton <CreativePowers.ModifyRainPower>(ref request, 2, "strip 2", 2, 0, weatherCategory.Buttons, weatherCategory.Sliders); groupOptionButton2.OnClick += WeatherCategoryButtonClick; list.Add(groupOptionButton2); CreativePowerManager.Instance.GetPower <CreativePowers.FreezeRainPower>().ProvidePowerButtons(request, list); return(list); }
private List <UIElement> CreateTimePowerStrip() { MenuTree <TimeSubcategory> timeCategory = _timeCategory; List <UIElement> list = new List <UIElement>(); CreativePowerUIElementRequestInfo creativePowerUIElementRequestInfo = default(CreativePowerUIElementRequestInfo); creativePowerUIElementRequestInfo.PreferredButtonWidth = 40; creativePowerUIElementRequestInfo.PreferredButtonHeight = 40; CreativePowerUIElementRequestInfo request = creativePowerUIElementRequestInfo; CreativePowerManager.Instance.GetPower <CreativePowers.FreezeTime>().ProvidePowerButtons(request, list); CreativePowerManager.Instance.GetPower <CreativePowers.StartDayImmediately>().ProvidePowerButtons(request, list); CreativePowerManager.Instance.GetPower <CreativePowers.StartNoonImmediately>().ProvidePowerButtons(request, list); CreativePowerManager.Instance.GetPower <CreativePowers.StartNightImmediately>().ProvidePowerButtons(request, list); CreativePowerManager.Instance.GetPower <CreativePowers.StartMidnightImmediately>().ProvidePowerButtons(request, list); GroupOptionButton <int> groupOptionButton = CreateSubcategoryButton <CreativePowers.ModifyTimeRate>(ref request, 2, "strip 2", 1, 0, timeCategory.Buttons, timeCategory.Sliders); groupOptionButton.OnClick += TimeCategoryButtonClick; list.Add(groupOptionButton); return(list); }