예제 #1
0
    public bool IsRightSalad(SaladItem item)
    {
        string other = GetSaladName(item.VegetableItemTypes);

        Debug.Log(string.Format("Order {0} and recieved order: {1}", orderName, other));
        return(orderName == other);
    }
예제 #2
0
 public void AddSalad(SaladItem item)
 {
     VegetableItemTypes.AddRange(item.VegetableItemTypes);
     foreach (Transform child in item.transform)
     {
         child.transform.SetParent(transform, false);
     }
     AdjustItems();
     Destroy(item.gameObject);
 }
예제 #3
0
 public void AddSalad(SaladItem salad)
 {
     if (Salad == null)
     {
         Salad = salad;
         salad.transform.SetParent(pickupTransform, false);
     }
     else
     {
         Salad.AddSalad(salad);
     }
 }
예제 #4
0
 //check for salad order is correct or not
 bool IsRightOrder(SaladItem saladItem)
 {
     if (isServerd)
     {
         return(false);
     }
     if (WaitingTime <= 0)
     {
         return(false);
     }
     return(Order.IsRightSalad(saladItem));
 }
예제 #5
0
    //proces order recieved by player and take necessary actions
    //deuct time if wrong order, give points if correct order and reward user if fast delivery
    //customer left in case of correct order
    public void ProcessOrder(SaladItem saladItem, Player player)
    {
        bool correctOreder = IsRightOrder(saladItem);

        if (correctOreder)
        {
            isServerd = true;
            if (waitingTimeCoroutine != null)
            {
                StopCoroutine(waitingTimeCoroutine);
            }

            float compltedTimePercentage = 100f - waitingTimeBar.fillAmount * 100f;
            Debug.Log("Correct order, served in : " + compltedTimePercentage);
            if (compltedTimePercentage <= awardTimePercentage)
            {
                //TODO give rewards
                OrderStatus = OrderStatus.FAST_SERVED;
            }
            else
            {
                OrderStatus = OrderStatus.CORRECT_SALAD_SERVERD;
            }
            ServedBy = player;

            //customer leave
            if (wrongServePlayers.Contains(player))
            {
                wrongServePlayers.Remove(player);
            }
            transform.parent.GetComponent <CustomerController>().TriggerCustomerLeftEvent(this);
        }
        else
        {
            Debug.Log("Wrong order!");
            animator.SetTrigger(wrongOrderServedHash);
            OrderStatus = OrderStatus.WRONG_SALAD_SERVED;
            wrongServePlayers.Add(player);
        }
    }
예제 #6
0
파일: Task.cs 프로젝트: salma-s/Meltdown
 public SaladTask()
 {
     Avocado = GameObject.FindGameObjectWithTag("Avocado").GetComponent <SaladItem>();
     Tomato  = GameObject.FindGameObjectWithTag("Tomato").GetComponent <SaladItem>();
     Lettuce = GameObject.FindGameObjectWithTag("Lettuce").GetComponent <SaladItem>();
 }