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); }
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); }