예제 #1
0
        /// <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);
            });
        }
예제 #2
0
        /// <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);
            });
        }
예제 #3
0
        /// <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();
                }
            });
        }