public void CreateOrderList(string search) { if (dm == null || database == null) { Start(); } List <Order> orders = dm.dispensary.GetOrders(); if (orders != null) { orderScrollbar.value = 1; foreach (OrderDisplayObject disp in orderDisplayedObjects) { Destroy(disp.gameObject); } orderDisplayedObjects.Clear(); if (search != null) { orders = SearchOrderList(orders, search); } if (!window.searchBar.ignoreFilters) { orders = FilterOrderList(orders); } orders = SortOrderList(window.sortMode, orders); RectTransform rectTransform = orderContentPanel.GetComponent <RectTransform>(); float prefabHeight = orderDisplayPrefab.gameObject.GetComponent <RectTransform>().rect.height; float contentPanelHeight = orders.Count * prefabHeight + (prefabHeight * .5f); rectTransform.sizeDelta = new Vector2(orderContentPanel.rectTransform.sizeDelta.x, contentPanelHeight); for (int i = 0; i < orders.Count; i++) { OrderDisplayObject orderDisplayObject = Instantiate(orderDisplayPrefab); int temp = i; Order order = orders[temp]; orderDisplayObject.Setup(order); orderDisplayObject.viewOrderButton.onClick.AddListener(() => orderDisplayPanel.OnPlacedOrderClick(order)); orderDisplayObject.cancelOrderButton.onClick.AddListener(() => DeleteOrder(order)); orderDisplayObject.transform.SetParent(orderContentPanel.transform.parent, false); orderDisplayObject.gameObject.SetActive(true); orderDisplayObject.GetComponent <Image>().rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i); orderDisplayedObjects.Add(orderDisplayObject); } foreach (OrderDisplayObject obj in orderDisplayedObjects) { obj.transform.SetParent(orderContentPanel.transform); } } }
public void CreateOrderList() { DispensaryManager dm = GameObject.Find("DispensaryManager").GetComponent <DispensaryManager>(); List <Order> orders = dm.dispensary.GetOrders(); if (orders != null) { orderScrollbar.value = 1; foreach (OrderDisplayObject disp in orderDisplayedObjects) { Destroy(disp.gameObject); } orderDisplayedObjects.Clear(); //orders = SortList(panel.sortMode, vendors); RectTransform rectTransform = orderContentPanel.GetComponent <RectTransform>(); //rectTransform.sizeDelta = new Vector2(contentPanel.rectTransform.sizeDelta.x, 0); float prefabHeight = orderDisplayPrefab.gameObject.GetComponent <RectTransform>().rect.height; float contentPanelHeight = orders.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); rectTransform.sizeDelta = new Vector2(orderContentPanel.rectTransform.sizeDelta.x, contentPanelHeight); for (int i = 0; i < orders.Count; i++) { Image orderDisplayGO = Instantiate(orderDisplayPrefab); Button[] buttonComponents = orderDisplayGO.GetComponentsInChildren <Button>(); Order order = orders[i]; buttonComponents[0].onClick.AddListener(() => dm.uiManagerObject.GetComponent <UIManager_v3>().CreateOrderPreviewPanel(order)); buttonComponents[1].onClick.AddListener(() => DeleteOrder(order)); Text[] textComponents = orderDisplayGO.GetComponentsInChildren <Text>(); textComponents[0].text = orders[i].orderName; orderDisplayGO.transform.SetParent(orderContentPanel.transform.parent, false); orderDisplayGO.gameObject.SetActive(true); orderDisplayGO.rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i); OrderDisplayObject orderDisplayObject = orderDisplayGO.gameObject.AddComponent <OrderDisplayObject>(); orderDisplayedObjects.Add(orderDisplayObject); //newStaffDisplayObject } foreach (OrderDisplayObject obj in orderDisplayedObjects) { obj.transform.SetParent(orderContentPanel.transform); } } }