/// <summary> /// UIに配置されているトグルに対してイベントハンドラを登録する /// </summary> /// <param name="popupMaterial"></param> public void SubscribeToggle(PopupSystemMaterial popupSystemMaterial) { var toggle = popupedObject.GetComponent <Toggle>(); var toggles = popupedObject.GetComponentsInChildren <Toggle>().ToList(); toggle = toggles.Find(obj => obj.gameObject.name == popupSystemMaterial.ObjectName); toggle.onValueChanged.AddListener(chagedValue => { popupSystemMaterial.BoolEventHandler(chagedValue); }); }
/// <summary> /// UIに配置されているスライダーに対してイベントハンドラを登録する /// </summary> /// <param name="popupMaterial"></param> public void SubscribeSlider(PopupSystemMaterial popupSystemMaterial) { var slider = popupedObject.GetComponent <Slider>(); var sliders = popupedObject.GetComponentsInChildren <Slider>().ToList(); slider = sliders.Find(obj => obj.gameObject.name == popupSystemMaterial.ObjectName); slider.onValueChanged.AddListener(changedvalue => { popupSystemMaterial.FloatEventHandler(changedvalue); }); }
/// <summary> /// UIに配置されているボタンに対してイベントハンドラを登録する /// </summary> /// <param name="popupMaterial"></param> public void SubscribeButton(PopupSystemMaterial popupSystemMaterial) { var button = popupedObject.GetComponent <Button>(); if (button == null) { var buttons = popupedObject.GetComponentsInChildren <Button>().ToList(); button = buttons.Find(obj => obj.gameObject.name == popupSystemMaterial.ObjectName); } button.onClick.AddListener(() => { popupSystemMaterial.EventHandler(); if (popupSystemMaterial.IsPushAfterClose) { Close(); } }); }