Ejemplo n.º 1
0
    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);
            }
        }
    }