Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }