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)); }
internal static void Init(Stiletto plugin) { if (StudioAPI.InsideStudio) { RegisterStudioControls(); } else { MakerAPI.RegisterCustomSubCategories += (sender, e) => RegisterMakerControls(plugin, e); } }
public StilettoMakerGUI(Stiletto plugin) { displaySettings = StilettoContext._displaySettingsProvider.Value; if (StudioAPI.InsideStudio) { RegisterStudioControls(); } else { MakerAPI.RegisterCustomSubCategories += (_, e) => RegisterMakerControls(plugin, e); } StilettoContext.OnHeelInfoUpdate += OnHeelInfoUpdate; }
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); }