Пример #1
0
        OptionMenuElement CreateElement(Option option)
        {
            var element       = new OptionMenuElement();
            var controlPrefab = GetPrefab(option);

            if (controlPrefab == null)
            {
                return(element);
            }
            element.Category     = option.Category;
            element.SortPriority = option.SortOrder;
            element.Object       = GetOrCreate(RowPrefab);
            // Create label
            var label = CreateLabel(option.GetDisplayName());
            // Create Control
            var control = Instantiate(controlPrefab).GetComponent <RectTransform>();

            SetUpControl(option, control.gameObject);
            LayoutLabelAndControl(element.Object, label, control);
            return(element);
        }
Пример #2
0
        OptionMenuElement CreateElement(OptionMenuElement obj)
        {
            var element = obj;

            if (obj.Object == null)
            {
                return(element);
            }

            var control = Instantiate(obj.Object);

            if (string.IsNullOrEmpty(obj.Label))
            {
                element.Object = control;
            }
            else
            {
                element.Object = GetOrCreate(RowPrefab);
                var label = CreateLabel(obj.Label);
                LayoutLabelAndControl(element.Object, label, control);
            }
            return(element);
        }