Ejemplo n.º 1
0
    // Request a random salad from the API data to order.
    public void requestRandomSalad()
    {
        if (SaladsAPI_Manager.Instance.saladsDataFetched)
        {
            if (GameManager.Instance.currentDifficultyLevel == GameManager.DIFFICULTY_LEVEL.EASY)
            {
                TwoVegetableRecipe randomTwoVegetableRecipe = SaladsAPI_Manager.Instance.twoVegetableRecipe[UnityEngine.Random.Range(0, SaladsAPI_Manager.Instance.twoVegetableRecipe.Count)];
                Debug.Log("Random Salad : " + randomTwoVegetableRecipe.id);
                orderedTwoVegetableSalad = randomTwoVegetableRecipe;
                saladPlate.GetComponent <Image>().sprite            = order(orderedTwoVegetableSalad.id);
                saladPlate.GetComponent <RectTransform>().sizeDelta = new Vector2(saladPlate.GetComponent <RectTransform>().sizeDelta.x, 12.5f);
                maximumWaitingTime    = 30f;
                currentWaitingTime    = 30f;
                waitingBar.fillAmount = currentWaitingTime;

                twoVegetableSalad   = true;
                threeVegetableSalad = false;
            }
            else
            {
                ThreeVegetableRecipe randomThreeVegetableRecipe = SaladsAPI_Manager.Instance.threeVegetableRecipe[UnityEngine.Random.Range(0, SaladsAPI_Manager.Instance.threeVegetableRecipe.Count)];
                Debug.Log("Random Salad : " + randomThreeVegetableRecipe.id);
                orderedThreeVegetableSalad = randomThreeVegetableRecipe;
                saladPlate.GetComponent <Image>().sprite            = order(orderedThreeVegetableSalad.id);
                saladPlate.GetComponent <RectTransform>().sizeDelta = new Vector2(saladPlate.GetComponent <RectTransform>().sizeDelta.x, 12.5f);
                maximumWaitingTime    = 35f;
                currentWaitingTime    = 35f;
                waitingBar.fillAmount = currentWaitingTime;

                twoVegetableSalad   = false;
                threeVegetableSalad = true;
            }
            customerState = CUSTOMER_STATE.WAITING;
        }
        else
        {
            Invoke("requestRandomSalad", 0.5f);
        }
    }
Ejemplo n.º 2
0
    private void Update()
    {
        if (customerState == CUSTOMER_STATE.WAITING)
        {
            waitingBarGameobject.SetActive(true);
        }
        else
        {
            waitingBarGameobject.SetActive(false);
        }

        if (twoVegetableSalad & !threeVegetableSalad)
        {
            if (customerState == CUSTOMER_STATE.WAITING || customerState == CUSTOMER_STATE.ANGRY)
            {
                if (currentWaitingTime > 0)
                {
                    currentWaitingTime -= Time.deltaTime;
                    float percent = currentWaitingTime / maximumWaitingTime;
                    waitingBar.fillAmount = Mathf.Lerp(0, 1, percent);
                }
                else
                {
                    if (customerState == CUSTOMER_STATE.WAITING)
                    {
                        GameManager.Instance.player1.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 10;
                        GameManager.Instance.player2.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 10;
                    }
                    else if (customerState == CUSTOMER_STATE.ANGRY)
                    {
                        GameManager.Instance.player1.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 5;
                        GameManager.Instance.player2.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 5;
                    }
                    customerState = CUSTOMER_STATE.NOT_RECIEVED;
                    ResetCustomerOrder();
                }
            }
        }

        if (!twoVegetableSalad & threeVegetableSalad)
        {
            if (customerState == CUSTOMER_STATE.WAITING || customerState == CUSTOMER_STATE.ANGRY)
            {
                if (currentWaitingTime > 0)
                {
                    currentWaitingTime -= Time.deltaTime;
                    float percent = currentWaitingTime / maximumWaitingTime;
                    waitingBar.fillAmount = Mathf.Lerp(0, 1, percent);
                }
                else
                {
                    if (customerState == CUSTOMER_STATE.WAITING)
                    {
                        GameManager.Instance.player1.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 10;
                        GameManager.Instance.player2.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 10;
                    }
                    else if (customerState == CUSTOMER_STATE.ANGRY)
                    {
                        GameManager.Instance.player1.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 5;
                        GameManager.Instance.player2.GetComponent <ChefDetails>().scriptableObjectForChef.playerScore -= 5;
                    }

                    customerState = CUSTOMER_STATE.NOT_RECIEVED;
                    ResetCustomerOrder();
                }
            }
        }
    }
Ejemplo n.º 3
0
    public void orderRecieved(ChefDetails chef)
    {
        if (customerState == CUSTOMER_STATE.WAITING)
        {
            customerState = CUSTOMER_STATE.CHECKING;
        }

        if (twoVegetableSalad && !threeVegetableSalad)
        {
            if (recievedTwoVegetableSalad != null)
            {
                if (checkTwoVegetableSaladIngredients(recievedTwoVegetableSalad))
                {
                    customerState = CUSTOMER_STATE.RECIEVED;
                    ResetCustomerOrder();

                    remainingWaitingTime = currentWaitingTime;
                    currentWaitingTime   = 0;

                    chef.scriptableObjectForChef.playerScore += 5;
                    if (remainingWaitingTime <= maximumWaitingTime)
                    {
                        spawnRandomPickup(chef);
                    }
                }
                else
                {
                    if (customerState == CUSTOMER_STATE.CHECKING)
                    {
                        customerState      = CUSTOMER_STATE.ANGRY;
                        currentWaitingTime = currentWaitingTime / 2;
                    }
                    else if (customerState == CUSTOMER_STATE.ANGRY)
                    {
                        customerState = CUSTOMER_STATE.NOT_RECIEVED;
                        ResetCustomerOrder();

                        remainingWaitingTime = currentWaitingTime;
                        currentWaitingTime   = 0;

                        chef.scriptableObjectForChef.playerScore -= 10;
                    }
                }
            }
            else
            {
                if (customerState == CUSTOMER_STATE.CHECKING)
                {
                    customerState      = CUSTOMER_STATE.ANGRY;
                    currentWaitingTime = currentWaitingTime / 2;
                }
                else if (customerState == CUSTOMER_STATE.ANGRY)
                {
                    customerState = CUSTOMER_STATE.NOT_RECIEVED;
                    ResetCustomerOrder();

                    remainingWaitingTime = currentWaitingTime;
                    currentWaitingTime   = 0;

                    chef.scriptableObjectForChef.playerScore -= 10;
                }
            }
        }
        else if (!twoVegetableSalad && threeVegetableSalad)
        {
            if (recievedThreeVegetableSalad != null)
            {
                if (checkThreeVegetableSaladIngredients(recievedThreeVegetableSalad))
                {
                    customerState = CUSTOMER_STATE.RECIEVED;
                    ResetCustomerOrder();

                    remainingWaitingTime = currentWaitingTime;
                    currentWaitingTime   = 0;

                    chef.scriptableObjectForChef.playerScore += 5;
                    if (remainingWaitingTime >= maximumWaitingTime * 0.7f)
                    {
                        spawnRandomPickup(chef);
                    }
                }
                else
                {
                    if (customerState == CUSTOMER_STATE.WAITING)
                    {
                        customerState      = CUSTOMER_STATE.ANGRY;
                        currentWaitingTime = currentWaitingTime / 2;
                    }
                    else if (customerState == CUSTOMER_STATE.ANGRY)
                    {
                        customerState = CUSTOMER_STATE.NOT_RECIEVED;
                        ResetCustomerOrder();

                        remainingWaitingTime = currentWaitingTime;
                        currentWaitingTime   = 0;

                        chef.scriptableObjectForChef.playerScore -= 10;
                    }
                }
            }
            else
            {
                if (customerState == CUSTOMER_STATE.WAITING)
                {
                    customerState      = CUSTOMER_STATE.ANGRY;
                    currentWaitingTime = currentWaitingTime / 2;
                }
                else if (customerState == CUSTOMER_STATE.ANGRY)
                {
                    customerState = CUSTOMER_STATE.NOT_RECIEVED;
                    ResetCustomerOrder();

                    remainingWaitingTime = currentWaitingTime;
                    currentWaitingTime   = 0;

                    chef.scriptableObjectForChef.playerScore -= 10;
                }
            }
        }

        ResetChefDetails(chef);
    }
Ejemplo n.º 4
0
        private void dgCallList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            // CALL LIST
            // 고객 정보
            DataGrid view = e.Source as DataGrid;
            CallList item = view.SelectedItem as CallList;

            if (item == null)
            {
                e.Handled = true;
                return;
            }

            flycustomer = GetCustomerByIdx(item.Cust_Idx);

            if (flycustomer.Idx == -1)
            {
                flycustomer = new Customer() { Group_Idx = 0, Idx = item.Cust_Idx, Cellular = item.Cust_Tel };
                flyCustomer.Header = Application.Current.FindResource("PB_DATAGRID_CUST_TOP_LABEL_0").ToString();
                CustState = CUSTOMER_STATE.ADD;
            }
            else
            {
                flyCustomer.Header = Application.Current.FindResource("PB_DATAGRID_CUST_TOP_LABEL_1").ToString();
                CustState = CUSTOMER_STATE.MODIFY;
            }

            btnCustSave.Visibility = Visibility.Visible;
            dgridCustCallList.ItemsSource = GetCallListByCustIdx(flycustomer.Idx, flycustomer.Cellular);
            flyCustomer.DataContext = flycustomer;
            flyCustomer.IsOpen = true;
        }
Ejemplo n.º 5
0
        private void MenuItem_Click_12(object sender, RoutedEventArgs e)
        {
            // CALL LIST
            // 고객 정보
            MenuItem menuitem = (MenuItem)e.Source;
            ContextMenu cm = (ContextMenu)menuitem.Parent;
            DataGrid view = (DataGrid)cm.PlacementTarget;
            CallList item = (CallList)view.SelectedItem;

            flycustomer = GetCustomerByIdx(item.Cust_Idx);

            if (flycustomer == null)
            {
                flycustomer = new Customer() { Group_Idx = 0, Idx = item.Cust_Idx, Cellular = item.Cust_Tel };
                flyCustomer.Header = Application.Current.FindResource("PB_DATAGRID_CUST_TOP_LABEL_0").ToString();
                CustState = CUSTOMER_STATE.ADD;
            }
            else
            {
                flyCustomer.Header = Application.Current.FindResource("PB_DATAGRID_CUST_TOP_LABEL_1").ToString();
                CustState = CUSTOMER_STATE.MODIFY;
            }

            btnCustSave.Visibility = Visibility.Visible;
            flyCustomer.DataContext = flycustomer;
            flyCustomer.IsOpen = true;
        }
Ejemplo n.º 6
0
        private void flyCustomer_IsOpenChanged(object sender, RoutedEventArgs e)
        {
            if (((Flyout)e.Source).IsOpen)
            {

            }
            else
            {
                flyCustomer.Header = Application.Current.FindResource("PB_DATAGRID_CUST_TOP_LABEL_0").ToString();
                btnCustSave.Visibility = Visibility.Visible;
                btnCustMemo.Visibility = Visibility.Collapsed;
                this.CustState = CUSTOMER_STATE.NONE;
            }
        }
Ejemplo n.º 7
0
 private void btnCustCancel_Click(object sender, RoutedEventArgs e)
 {
     // 고객 추가/수정 취소
     flyCustomer.IsOpen = false;
     CustState = CUSTOMER_STATE.NONE;
 }
Ejemplo n.º 8
0
        private void btnCustSave_Click(object sender, RoutedEventArgs e)
        {
            // 고객 추가/수정 save
            if (cmbGroup.SelectedIndex < 1)
            {
                MessageBox.Show(Application.Current.FindResource("MSG_ERR_CUSTOMER_EMPTY_GROUP").ToString(), Application.Current.FindResource("MSGBOX_TXT_TITLE").ToString());
                cmbGroup.Focus();
                return;
            }

            if (string.IsNullOrEmpty(flycustomer.Name))
            {
                MessageBox.Show(Application.Current.FindResource("MSG_ERR_CUSTOMER_EMPTY_NAME").ToString(), Application.Current.FindResource("MSGBOX_TXT_TITLE").ToString());
                txtName.Focus();
                return;
            }
            if (string.IsNullOrEmpty(flycustomer.Tel) && string.IsNullOrEmpty(flycustomer.Cellular) && string.IsNullOrEmpty(flycustomer.Extension))
            {
                MessageBox.Show(Application.Current.FindResource("MSG_ERR_CUSTOMER_EMPTY_TEL").ToString(), Application.Current.FindResource("MSGBOX_TXT_TITLE").ToString());
                if (string.IsNullOrEmpty(txtName.Text))
                    txtName.Focus();
                if (string.IsNullOrEmpty(txtCellular.Text))
                    txtCellular.Focus();
                if (string.IsNullOrEmpty(txtExtension.Text))
                    txtExtension.Focus();
                return;
            }

            if (customers == null)
                customers = new Customers();

            if (CustState == CUSTOMER_STATE.ADD)
            {
                customers.add(flycustomer);
            }
            else if (CustState == CUSTOMER_STATE.MODIFY)
            {
                customers.modify(flycustomer);
            }

            flyCustomer.IsOpen = false;

            CustState = CUSTOMER_STATE.NONE;
        }
Ejemplo n.º 9
0
        private void MenuItem_Click_5(object sender, RoutedEventArgs e)
        {
            CustState = CUSTOMER_STATE.MODIFY;

            // 고객 수정
            MenuItem menuitem = (MenuItem)e.Source;
            ContextMenu cm = (ContextMenu)menuitem.Parent;
            DataGrid view = (DataGrid)cm.PlacementTarget;
            Customer item = (Customer)view.SelectedItem;

            flycustomer = new Customer() { Idx = item.Idx, Group_Idx = item.Group_Idx, Name = item.Name, Company = item.Company, Title = item.Title, Tel = item.Tel, Cellular = item.Cellular, Extension = item.Extension, Email = item.Email, Addr = item.Addr };

            flyCustomer.DataContext = flycustomer;
            // cmbGroup.SelectedValue = flycustomer.Group_Idx;
            flyCustomer.Header = Application.Current.FindResource("PB_FLYOUT_TITLE_CUST_EDIT").ToString();
            flyCustomer.IsOpen = true;
        }
Ejemplo n.º 10
0
        private void MenuItem_Click_4(object sender, RoutedEventArgs e)
        {
            CustState = CUSTOMER_STATE.ADD;

            // 고객 추가
            GroupList gselitem = tvGroup.SelectedItem as GroupList;
            if (gselitem != null)
            {
                flycustomer = new Customer() { Group_Idx = gselitem.Idx };
            }
            else
            {
                flycustomer = new Customer();
            }

            flyCustomer.DataContext = flycustomer;
            flyCustomer.Header = Application.Current.FindResource("PB_FLYOUT_TITLE_CUST_ADD").ToString();
            flyCustomer.IsOpen = true;
        }