public void CreateList_Jobs() { DispensaryManager dm = GameObject.Find("DispensaryManager").GetComponent <DispensaryManager>(); List <Dispensary.JobType> jobs = dm.dispensary.GetAvailableJobs(); foreach (DraggableJobItem disp in displayedJobs) { Destroy(disp.gameObject); } displayedJobs.Clear(); RectTransform contentPanelRectTransform = jobContentPanel.GetComponent <RectTransform>(); //rectTransform.sizeDelta = new Vector2(contentPanel.rectTransform.sizeDelta.x, 0); float prefabHeight = jobDisplayPrefab.gameObject.GetComponent <RectTransform>().rect.height; float contentPanelHeight = jobs.Count * prefabHeight + (prefabHeight * .5f); //print("Prefab Height: " + prefabHeight + "\nContent Panel Height(Old): " + contentPanel.rectTransform.sizeDelta.y // + "\nContent Panel Height(New): " + contentPanelHeight + "\nPrefab Height, New: " + displayPrefab.gameObject.GetComponent<RectTransform>().rect.height); contentPanelRectTransform.sizeDelta = new Vector2(jobContentPanel.rectTransform.sizeDelta.x, contentPanelHeight); for (int i = 0; i < jobs.Count; i++) { Dispensary.JobType job = jobs[i]; DraggableJobItem newJobDisplay = Instantiate(jobDisplayPrefab); newJobDisplay.gameObject.SetActive(true); newJobDisplay.uiPanel = this; RectTransform rectTransform = newJobDisplay.GetComponent <RectTransform>(); newJobDisplay.transform.SetParent(jobContentPanel.transform.parent, false); rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i); switch (job) { case Dispensary.JobType.Cashier: newJobDisplay.jobType = job; newJobDisplay.text.text = "Cashier"; newJobDisplay.icon.sprite = SpriteManager.cashierIcon; break; case Dispensary.JobType.StoreBudtender: newJobDisplay.jobType = job; newJobDisplay.text.text = "Store Budtender"; newJobDisplay.icon.sprite = SpriteManager.storeBudtenderIcon; break; case Dispensary.JobType.SmokeBudtender: newJobDisplay.jobType = job; newJobDisplay.text.text = "Smoke Budtender"; newJobDisplay.icon.sprite = SpriteManager.smokeBudtenderIcon; break; case Dispensary.JobType.Security: newJobDisplay.jobType = job; newJobDisplay.text.text = "Security"; newJobDisplay.icon.sprite = SpriteManager.securityIcon; break; } /*StaffDisplayObject newStaffDisplay = Instantiate(staffDisplayPrefab); * newStaffDisplay.staff = staff_s; * newStaffDisplay.staffNameText.text = jobs[i].staffName; * Rect newStaffDisplayRect = newStaffDisplay.GetComponent<RectTransform>().rect; * newStaffDisplay.gameObject.transform.SetParent(staffContentPanel.transform.parent, false); * newStaffDisplay.gameObject.SetActive(true); * displayedObjects.Add(newStaffDisplay);*/ displayedJobs.Add(newJobDisplay); //newStaffDisplayObject } foreach (DraggableJobItem obj in displayedJobs) { obj.transform.SetParent(jobContentPanel.transform); } }