Esempio n. 1
0
        private static void RegisterMakerControls(Stiletto plugin, RegisterSubCategoriesEvent e)
        {
            // Doesn't apply to male characters
            if (MakerAPI.GetMakerSex() == 0)
            {
                return;
            }

            var shoesCategory = MakerConstants.Clothes.OuterShoes;
            var category      = new MakerCategory(shoesCategory.CategoryName, "stiletto", shoesCategory.Position + 1, "Stiletto");

            e.AddSubCategory(category);

            slider_AngleAnkle = e.AddControl(new MakerSlider(category, "AngleAnkle", 0f, 60f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(10f), ValueToString = CreateValueToStringFunc(10f),
            });
            slider_AngleLeg = e.AddControl(new MakerSlider(category, "AngleLeg", 0f, 60f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(10f), ValueToString = CreateValueToStringFunc(10f)
            });
            slider_Height = e.AddControl(new MakerSlider(category, "Height", 0f, 0.5f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(1000f), ValueToString = CreateValueToStringFunc(1000f)
            });

            slider_AngleAnkle.ValueChanged.Subscribe(x => MakerAPI.GetCharacterControl().GetComponent <HeelInfo>().SafeProc(y => y.AnkleAnglef = x));
            slider_AngleLeg.ValueChanged.Subscribe(x => MakerAPI.GetCharacterControl().GetComponent <HeelInfo>().SafeProc(y => y.LegAnglef     = x));
            slider_Height.ValueChanged.Subscribe(x => MakerAPI.GetCharacterControl().GetComponent <HeelInfo>().SafeProc(y => y.Heightf         = x));
        }
Esempio n. 2
0
 internal static void Init(Stiletto plugin)
 {
     if (StudioAPI.InsideStudio)
     {
         RegisterStudioControls();
     }
     else
     {
         MakerAPI.RegisterCustomSubCategories += (sender, e) => RegisterMakerControls(plugin, e);
     }
 }
Esempio n. 3
0
        public StilettoMakerGUI(Stiletto plugin)
        {
            displaySettings = StilettoContext._displaySettingsProvider.Value;


            if (StudioAPI.InsideStudio)
            {
                RegisterStudioControls();
            }
            else
            {
                MakerAPI.RegisterCustomSubCategories += (_, e) => RegisterMakerControls(plugin, e);
            }

            StilettoContext.OnHeelInfoUpdate += OnHeelInfoUpdate;
        }
Esempio n. 4
0
        private void RegisterMakerControls(Stiletto plugin, RegisterSubCategoriesEvent e)
        {
            displaySettings = StilettoContext._displaySettingsProvider.Value;

            var shoesCategory = MakerConstants.Clothes.OuterShoes;
            var category      = new MakerCategory(shoesCategory.CategoryName, "stiletto", shoesCategory.Position + 1, displaySettings.Stiletto);

            e.AddSubCategory(category);

            text_heelName     = e.AddControl(new MakerText(displaySettings.Default_Heel_Name, category, plugin));
            slider_AnkleAngle = e.AddControl(new MakerSlider(category, displaySettings.Ankle_Angle, -60f, 60f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(10f),
                ValueToString = CreateValueToStringFunc(10f),
            });
            slider_LegAngle = e.AddControl(new MakerSlider(category, displaySettings.Leg_Angle, -60f, 60f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(10f),
                ValueToString = CreateValueToStringFunc(10f)
            });
            slider_Height = e.AddControl(new MakerSlider(category, displaySettings.Height, -0.5f, 0.5f, 0f, plugin)
            {
                StringToValue = CreateStringToValueFunc(1000f),
                ValueToString = CreateValueToStringFunc(1000f)
            });
            button_HeelSave = e.AddControl(new MakerButton(displaySettings.Save_Heel_Settings, category, plugin));
            button_Reload   = e.AddControl(new MakerButton(displaySettings.Reload_Configurations, category, plugin));

            slider_AnkleAngle.ValueChanged.Subscribe(value =>
                                                     MakerHeelInfoProcess(heel => heel.SafeProc(x => x.AnkleAngle = value))
                                                     );

            slider_LegAngle.ValueChanged.Subscribe(value =>
                                                   MakerHeelInfoProcess(heel => heel.SafeProc(x => x.LegAngle = value))
                                                   );

            slider_Height.ValueChanged.Subscribe(value =>
                                                 MakerHeelInfoProcess(heel => heel.SafeProc(x => x.Height = value))
                                                 );

            button_HeelSave.OnClick.AddListener(() =>
                                                MakerHeelInfoProcess(heel => StilettoContext.CustomHeelProvider.Save(heel.heelName, new CustomHeel(heel))
                                                                     ));

            button_Reload.OnClick.AddListener(StilettoContext.ReloadConfigurations);
        }