void Start() { //Populate Header Button SetHeader(chosenIndex); float myWidth = GetComponent <RectTransform>().sizeDelta.x;// - widthDelta; //Instantiate Options if (optionDataList.Count == 0) { throw new System.Exception("optionDataList.Count is zero!"); } int i = 0; //Instantite Option elements foreach (LineItemData option in optionDataList) { GameObject newOption = Instantiate(ddOptionPrefab, contentTransform, false); //Set width of child element RectTransform nORect = newOption.GetComponent <RectTransform>(); nORect.sizeDelta = new Vector2(myWidth, nORect.sizeDelta.y); //Pass on Option data DropDownOption newDDO = newOption.GetComponent <DropDownOption>(); newDDO.optionID = i++; newDDO.Unpack(option); newDDO.dropDownMenu = this; //Give each Option a Separator to manage if (ddSeparatorPrefab != null) { GameObject newSeparator = Instantiate(ddSeparatorPrefab, contentTransform, false); //Set width of child element RectTransform nOSep = newSeparator.GetComponent <RectTransform>(); nOSep.sizeDelta = new Vector2(myWidth, nOSep.sizeDelta.y); newDDO.mySeparator = newSeparator; } ddOptionList.Add(newDDO); } //Handle Background height backgroundRect = background.GetComponent <RectTransform>(); sizeRetracted = backgroundRect.rect.size; widthRetracted = backgroundRect.sizeDelta.x; myRect = GetComponent <RectTransform>(); originPosition = myRect.anchoredPosition; SetDeltaHeight(); background.SetActive(false); //layoutGroup layoutGroup.padding.top = (int)elementHeight; }