Exemple #1
0
    public void DecreaseQuantity(StoreObjectReference product)
    {
        int quantity = 0;

        switch (quantityMode)
        {
        case QuantityMode.state1:
            quantity = 1;
            break;

        case QuantityMode.state2:
            quantity = 10;
            break;

        case QuantityMode.state3:
            quantity = 15;
            break;
        }
        currentOrder.DecreaseQuantity(product, quantity);
        Order.Order_Product productOrder = currentOrder.GetProduct(product);
        if (productOrder.GetQuantity() <= 0)
        {
            currentOrder.RemoveProduct(productOrder);
        }
        UpdateList();
    }
Exemple #2
0
    public BoxProductReturnResults BoxPackagedProduct(Order.Order_Product productOrder)
    {
        int singleWeight       = productOrder.GetProduct().boxWeight;
        int productOrderWeight = productOrder.GetQuantity() * singleWeight;
        Box currentBox         = CreateBox(productOrderWeight);

        Box.PackagedProduct newPackagedProduct = new Box.PackagedProduct(currentBox, productOrder.GetProduct(), productOrder.GetQuantity());
        //currentBox.AddProduct(newPackagedProduct);
        float randomRed   = UnityEngine.Random.value;
        float randomGreen = UnityEngine.Random.value;
        float randomBlue  = UnityEngine.Random.value;

        if (productOrderWeight > currentBox.maxWeight)
        {
            int difference = currentBox.maxWeight - productOrderWeight;
            int val        = difference / singleWeight;
            val = Mathf.Abs(val);

            Order.Order_Product leftoverOrder = new Order.Order_Product(val, newPackagedProduct.productReference);
            newPackagedProduct.quantity -= val;
            currentBox.AddProduct(newPackagedProduct);
            return(new BoxProductReturnResults(currentBox, leftoverOrder));
        }
        else
        {
            currentBox.AddProduct(newPackagedProduct);
            return(new BoxProductReturnResults(currentBox, null));
        }
    }
 public void DisplayProduct(Order.Order_Product productOrder)
 {
     displayType       = DisplayType.Product;
     displayedBud      = null;
     displayedProduct  = productOrder;
     itemNameText.text = productOrder.GetProduct().productName;
     quantityText.text = productOrder.GetQuantity().ToString();
 }
 public void DisplayBud(Order.Order_Bud budOrder)
 {
     displayType       = DisplayType.Bud;
     displayedBud      = budOrder;
     displayedProduct  = null;
     itemNameText.text = budOrder.GetStrain().name;
     quantityText.text = budOrder.GetWeight() + "g";
 }
    public void DisplayPlacedOrder()
    {
        ClearPresetsList();
        ClearDisplayingPresetOrderList();
        ClearDisplayingPlacedOrderList();
        mainImage.sprite = SpriteManager.orderDisplayPanel_DisplayingOrderSprite;
        displayingPresetsListContents.gameObject.SetActive(false);
        displayingPlacedOrderContents.gameObject.SetActive(true);
        displayingOrderPresetContents.gameObject.SetActive(false);

        // Create Items List
        if (selectedPlacedOrder != null)
        {
            List <Order.Order_Product> productOrders = selectedPlacedOrder.productList;
            List <Order.Order_Bud>     budOrders     = selectedPlacedOrder.budList;
            int totalCount = productOrders.Count + budOrders.Count;
            if (totalCount > 0)
            {
                displayingPresetOrderItemsScrollbar.value = 1;
                foreach (PlacedOrderItemDisplayObject disp in placedItemsDisplayed)
                {
                    Destroy(disp.gameObject);
                }
                presetItemsDisplayed.Clear();
                RectTransform rectTransform      = placedOrderItemsContentsPanel.GetComponent <RectTransform>();
                float         prefabHeight       = presetProductItemPrefab.gameObject.GetComponent <RectTransform>().rect.height;
                float         contentPanelHeight = totalCount * prefabHeight + (prefabHeight * .5f);
                rectTransform.sizeDelta = new Vector2(placedOrderItemsContentsPanel.rectTransform.sizeDelta.x, contentPanelHeight);
                int productCounter = 0;
                int budCounter     = 0;
                for (int i = 0; i < totalCount; i++)
                {
                    try
                    {
                        int temp = productCounter;
                        Order.Order_Product potentialProduct = productOrders[temp];
                        if (potentialProduct != null)
                        { // Display Product
                            Image orderDisplayGO = Instantiate(placedProductItemPrefab);
                            orderDisplayGO.transform.SetParent(placedOrderItemsContentsPanel.transform.parent, false);
                            orderDisplayGO.gameObject.SetActive(true);
                            orderDisplayGO.rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i);
                            PlacedOrderItemDisplayObject orderItemDisplayObject = orderDisplayGO.gameObject.GetComponent <PlacedOrderItemDisplayObject>();
                            orderItemDisplayObject.DisplayProduct(potentialProduct);
                            placedItemsDisplayed.Add(orderItemDisplayObject);
                            productCounter++;
                        }
                    }
                    catch (System.ArgumentOutOfRangeException)
                    {
                        try
                        {
                            int             temp         = budCounter;
                            Order.Order_Bud potentialBud = budOrders[temp];
                            if (potentialBud != null)
                            { // Display Bud
                                //Image orderDisplayGO = Instantiate(presetBudItemPrefab);
                                Image orderDisplayGO = Instantiate(placedProductItemPrefab);
                                orderDisplayGO.transform.SetParent(placedOrderItemsContentsPanel.transform.parent, false);
                                orderDisplayGO.gameObject.SetActive(true);
                                orderDisplayGO.rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i);
                                PlacedOrderItemDisplayObject orderItemDisplayObject = orderDisplayGO.gameObject.GetComponent <PlacedOrderItemDisplayObject>();
                                orderItemDisplayObject.DisplayBud(potentialBud);
                                placedItemsDisplayed.Add(orderItemDisplayObject);
                                budCounter++;
                            }
                        }
                        catch (System.ArgumentOutOfRangeException)
                        {
                            break;
                        }
                    }
                    //newStaffDisplayObject
                }
                foreach (PlacedOrderItemDisplayObject obj in placedItemsDisplayed)
                {
                    obj.transform.SetParent(placedOrderItemsContentsPanel.transform);
                }
            }
        }
    }
Exemple #6
0
 public void CreateOrderFormList()
 {
     if (currentOrder != null)
     {
         if (currentOrder.productList != null || currentOrder.budList != null)
         {
             orderFormScrollbar.value = 1;
             foreach (OrderFormDisplayObject disp in orderFormDisplayedObjects)
             {
                 Destroy(disp.gameObject);
             }
             orderFormDisplayedObjects.Clear();
             //staff = SortList(panel.sortMode, staff);
             RectTransform rectTransform      = orderFormContentPanel.GetComponent <RectTransform>();
             float         prefabHeight       = orderFormPrefab.gameObject.GetComponent <RectTransform>().rect.height;
             float         contentPanelHeight = (currentOrder.productList.Count + currentOrder.budList.Count) * prefabHeight + (prefabHeight * .5f);
             rectTransform.sizeDelta = new Vector2(orderFormContentPanel.rectTransform.sizeDelta.x, contentPanelHeight);
             int productCounter = 0;
             int budCounter     = 0;
             for (int i = 0; i < (currentOrder.productList.Count + currentOrder.budList.Count); i++)
             {
                 Image newItem = null;
                 bool  product = false; // true if product, false if bud (this iteration)
                 if (currentOrder.productList != null && productCounter < currentOrder.productList.Count)
                 {
                     newItem = Instantiate(orderFormPrefab);
                     product = true;
                 }
                 else if (currentOrder.budList != null && budCounter < currentOrder.budList.Count)
                 {
                     newItem = Instantiate(orderFormPrefab);
                     product = false;
                 }
                 Text[]   textComponents   = newItem.GetComponentsInChildren <Text>();
                 Button[] buttonComponents = newItem.GetComponentsInChildren <Button>();
                 OrderFormDisplayObject newOrderFormDisplayObject = newItem.gameObject.GetComponent <OrderFormDisplayObject>();
                 if (product)
                 {
                     int temp = productCounter;
                     Order.Order_Product productOrder = currentOrder.productList[temp];
                     newOrderFormDisplayObject.product = productOrder;
                     textComponents[0].text            = productOrder.GetProduct().productName;
                     textComponents[1].text            = "$0";
                     StoreObjectReference reference = productOrder.GetProduct();
                     buttonComponents[0].onClick.AddListener(() => DecreaseQuantity(reference));
                     buttonComponents[1].onClick.AddListener(() => IncreaseQuantity(reference));
                     newOrderFormDisplayObject.product = productOrder;
                     newOrderFormDisplayObject.SetQuantity(productOrder.GetQuantity().ToString());
                     productCounter++;
                 }
                 else
                 {
                     int             temp     = budCounter;
                     Order.Order_Bud budOrder = currentOrder.budList[temp];
                     textComponents[0].text = budOrder.GetStrain().name;
                     textComponents[1].text = "$0";
                     Strain reference = budOrder.GetStrain();
                     buttonComponents[0].onClick.AddListener(() => DecreaseQuantity(reference));
                     buttonComponents[1].onClick.AddListener(() => IncreaseQuantity(reference));
                     newOrderFormDisplayObject.bud = budOrder;
                     newOrderFormDisplayObject.SetQuantity(budOrder.GetWeight().ToString());
                     budCounter++;
                 }
                 newOrderFormDisplayObject.SetQuantity(quantityMode);
                 newItem.transform.SetParent(orderFormContentPanel.transform.parent, false);
                 newItem.gameObject.SetActive(true);
                 newItem.rectTransform.anchoredPosition = new Vector2(0, -prefabHeight * i);
                 orderFormDisplayedObjects.Add(newOrderFormDisplayObject);
             }
             foreach (OrderFormDisplayObject obj in orderFormDisplayedObjects)
             {
                 obj.transform.SetParent(orderFormContentPanel.transform);
             }
         }
     }
 }
Exemple #7
0
 public BoxProductReturnResults(Box toReturn, Order.Order_Product leftovers)
 {
     returnBox     = toReturn;
     leftoverOrder = leftovers;
 }
Exemple #8
0
 public BoxProductReturnResults()
 {
     returnBox     = null;
     leftoverOrder = null;
 }