private void SetupSlider(float baseValue, Action <float> sliderSetter, Action <float> bodySetter, string fieldname, PushupController pushupController, object cvsBreast) { //Find the sliders for the chest area var slider = (Slider)Traverse.Create(cvsBreast).Field($"sld{fieldname}").GetValue(); var input = (TMP_InputField)Traverse.Create(cvsBreast).Field($"inp{fieldname}").GetValue(); bodySetter(baseValue); slider.value = baseValue; input.text = CustomBase.ConvertTextFromRate(0, 100, baseValue); if (!DoEvents) { return; } slider.onValueChanged.AsObservable().Subscribe(value => { if (!DoEvents) { return; } //When user is updating the chest sliders set the BaseData sliderSetter(value); input.text = Math.Round(value * 100).ToString(CultureInfo.InvariantCulture); pushupController.RecalculateBody(); }); }
private void MakerFinishedLoading(object sender, EventArgs e) { ReloadPushup(); _pushUpController.RecalculateBody(coroutine: true); GameObject bodyTopButton = GameObject.Find("CustomScene/CustomRoot/FrontUIGroup/CustomUIGroup/CvsMenuTree/01_BodyTop"); var bodyTopButtonTrigger = bodyTopButton.GetOrAddComponent <EventTrigger>(); var bodyTopButtonPointerEnter = new EventTrigger.Entry(); bodyTopButtonPointerEnter.eventID = EventTriggerType.PointerEnter; bodyTopButtonPointerEnter.callback.AddListener(x => SliderManager.SlidersActive = true); bodyTopButtonTrigger.triggers.Add(bodyTopButtonPointerEnter); var bodyTopButtonPointerExit = new EventTrigger.Entry(); bodyTopButtonPointerExit.eventID = EventTriggerType.PointerExit; bodyTopButtonPointerExit.callback.AddListener(x => SliderManager.SlidersActive = true); bodyTopButtonTrigger.triggers.Add(bodyTopButtonPointerExit); }
private static void MakerFinishedLoading(object sender, EventArgs e) { ReloadPushup(); _pushUpController.RecalculateBody(coroutine: true); }