public override void Render(ref GameObject targetObject, RenderContext renderContext, GameObject parentObject)
        {
            GetOrCreateSelfObject(renderContext, ref targetObject, parentObject);

            var children = RenderChildren(renderContext, targetObject);

            var inputField = ElementUtil.GetOrAddComponent <InputField>(targetObject);

            inputField.transition = Selectable.Transition.None;
            if (InputJson != null)
            {
                var textComponent =
                    ElementUtil.FindComponentByClassName <Text>(children, InputJson.Get("text_component_class"));
                if (textComponent != null)
                {
                    inputField.textComponent = textComponent;
                    if (!textComponent.gameObject.activeSelf)
                    {
                        textComponent.gameObject.SetActive(true);
                    }
                }

                var placeholderText =
                    ElementUtil.FindComponentByClassName <Graphic>(children, InputJson.Get("placeholder_class"));
                if (placeholderText != null)
                {
                    inputField.placeholder = placeholderText;
                }

                var targetGraphic =
                    ElementUtil.FindComponentByClassName <Text>(children, InputJson.Get("target_graphic_class"));
                if (targetGraphic != null)
                {
                    inputField.targetGraphic = targetGraphic;
                }
            }

            ElementUtil.SetLayer(targetObject, Layer);
            ElementUtil.SetupRectTransform(targetObject, RectTransformJson);
        }
Пример #2
0
        public override void Render(ref GameObject targetObject, RenderContext renderContext, GameObject parentObject)
        {
            GetOrCreateSelfObject(renderContext, ref targetObject, parentObject);

            var slider = ElementUtil.GetOrAddComponent <Slider>(targetObject);

            var children = RenderChildren(renderContext, targetObject);

            var direction = _sliderJson.Get("direction");

            if (direction != null)
            {
                direction = direction.ToLower();
                switch (direction)
                {
                case "left-to-right":
                case "ltr":
                case "x":
                    slider.direction = Slider.Direction.LeftToRight;
                    break;

                case "right-to-left":
                case "rtl":
                    slider.direction = Slider.Direction.RightToLeft;
                    break;

                case "bottom-to-top":
                case "btt":
                case "y":
                    slider.direction = Slider.Direction.BottomToTop;
                    break;

                case "top-to-bottom":
                case "ttb":
                    slider.direction = Slider.Direction.TopToBottom;
                    break;
                }
            }

            slider.transition = Selectable.Transition.None;
            //slider.interactable = false;

            var fillRect =
                ElementUtil.FindComponentByClassName <RectTransform>(children, _sliderJson.Get("fill_rect_name"));

            if (fillRect != null)
            {
                slider.value    = slider.maxValue;
                slider.fillRect = fillRect;
            }

            var handleRect =
                ElementUtil.FindComponentByClassName <RectTransform>(children, _sliderJson.Get("handle_rect_name"));

            if (handleRect != null)
            {
                slider.handleRect   = handleRect;
                slider.interactable = true;
            }

            ElementUtil.SetupRectTransform(targetObject, RectTransformJson);
        }