Ejemplo n.º 1
0
 //dustbin
 void ClearChoppedVegeBoard(ChoppingBoard choBoard)
 {
     choBoard.Container.Clear();
     choBoard.currChopped = 0;
     readyDish.text       = "";
     readySalad           = null;
 }
Ejemplo n.º 2
0
    //Pick up a new SaladScriptObj from the cutting board and add it to the PlayerInfo veggieQueue
    void PickUpNewSalad(ChoppingBoard board)
    {
        playerInfo.veggieQueue.Enqueue(board.TakeSalad());
        playerInfo.UpdateQueue();

        //Debugging to check the values of the SaladScriptObj just picked up
        //SaladScriptObj veg = playerInfo.veggieQueue.Peek();
        //veg.DisplayVeggiesIncluded();
    }
Ejemplo n.º 3
0
    void PickUpSalad(IInteractable obj)
    {
        ChoppingBoard cb = obj as ChoppingBoard;

        if (cb)
        {
            Debug.Log("chopping board access is a success");
            cb.AddSaladToPlayer(this);
        }
        else
        {
            Debug.Log("Not chopping Board");
        }
    }
Ejemplo n.º 4
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.GetComponent <PlayerController>())
     {
         m_OwnerPlayerController = other.GetComponent <PlayerController>();
         m_PlayerInZone.Add(m_OwnerPlayerController.PlayerIndexValue);
         m_OwnerPlayerIndex = m_OwnerPlayerController.PlayerIndexValue;
     }
     if (other.GetComponent <ChoppingBoard>())
     {
         m_ChoppingBoardOwner = other.GetComponent <ChoppingBoard>();
         if (!m_PlayerInZone.Contains(m_OwnerPlayerIndex))
         {
             m_PlayerInZone.Add(m_OwnerPlayerIndex);
         }
     }
 }
Ejemplo n.º 5
0
    IEnumerator ChoppingVege(int BoardID, ChoppingBoard choBoard)
    {
        string curChoppedVege = vegetablesInHand.Dequeue();

        startChoping = true;
        yield return(new WaitForSeconds(1f));

        choBoard.Container.Add(curChoppedVege);
        //updating UI.
        allVege.text = "";
        foreach (var i in vegetablesInHand)
        {
            allVege.text = allVege.text + i;
        }
        dishOnChoppingBoard[BoardID].text = dishOnChoppingBoard[BoardID].text + choBoard.Container[choBoard.currChopped];
        readySalad = readySalad + choBoard.Container[choBoard.currChopped];
        choBoard.currChopped++;
        isChopping   = false;
        startChoping = false;
    }
Ejemplo n.º 6
0
    void OnTriggerEnter2D(Collider2D col)
    {
        //Collect Vegitables
        if (col.gameObject.GetComponent <Vegitable>())
        {
            Vegitable _vegitable = col.gameObject.GetComponent <Vegitable>();
            if (collectedVegies.Count >= 2)
            {
                return;
            }
            foreach (VegitableType veg in collectedVegies)
            {
                if (veg == _vegitable.vegitableType)
                {
                    return;
                }
            }
            collectedVegies.Add(_vegitable.vegitableType);
            ShowCollectedVegText();
        }

        if (col.gameObject.GetComponent <ChoppingBoard>())
        {
            ChoppingBoard _choppingBoard = col.gameObject.GetComponent <ChoppingBoard>();
            if (collectedVegies.Count > 0)
            {
                //Chop Vegitables
                _choppingBoard.ChopVegitable(collectedVegies[0], this);
                collectedVegies.RemoveAt(0);
                transform.position += new Vector3(0, 1, 0);

                ShowCollectedVegText();
            }
            else
            {
                //collect Chopped Vegitables
                choppedVegitables.Clear();
                choppedVegitables = new List <VegitableType>(_choppingBoard.CollectChoppedVegitables());
                _choppingBoard.choppedVegitables.Clear();

                vegCollectedText.text = "";
                for (int i = 0; i < choppedVegitables.Count; i++)
                {
                    vegCollectedText.text = vegCollectedText.text + " " + choppedVegitables[i].ToString();
                }
                vegCollectedText.color = Color.red;
            }
        }

        //Plate store one veg item if its empty else collect item from plate
        if (col.gameObject.GetComponent <Plate>())
        {
            VegitableType plateVeg = col.gameObject.GetComponent <Plate>().CollectFromPlate();
            if (plateVeg == 0 && collectedVegies.Count > 0)
            {
                col.gameObject.GetComponent <Plate>().OnPlate(collectedVegies[0]);
                collectedVegies.RemoveAt(0);
            }
            else if (plateVeg != 0)
            {
                foreach (VegitableType veg in collectedVegies)
                {
                    if (veg == plateVeg)
                    {
                        return;
                    }
                }
                collectedVegies.Add(plateVeg);
            }
            ShowCollectedVegText();
        }

        //Trash
        if (col.gameObject.layer == 8)
        {
            if (collectedVegies.Count > 0)
            {
                collectedVegies.RemoveAt(0);
            }
            else
            {
                if (choppedVegitables.Count > 0)
                {
                    choppedVegitables.RemoveAt(0);
                }
            }
            ShowCollectedVegText();
        }

        //Serve Salad to Customer
        if (col.gameObject.GetComponent <Customer>())
        {
            Customer _customer = col.gameObject.GetComponent <Customer>();
            if (choppedVegitables.Count == _customer.saladRecipe.Count)
            {
                for (int i = 0; i < choppedVegitables.Count; i++)
                {
                    if (choppedVegitables[i] != _customer.saladRecipe[i])
                    {
                        goto failed;
                    }
                }
                _customer.CustomerServedSuccessfully();
                AddScore(_customer.scoreValue);
                if (_customer.progressBar.fillAmount < .7f)
                {
                    isReadyForPickup = true;
                    GamePlayManager.Instance.InitiatePickup();
                }
                choppedVegitables.Clear();
                ShowCollectedVegText();
                return;
            }
            else
            {
                goto failed;
            }
failed:
            _customer.DecreaseWaitingTimeFaster();
            AddScore(-5);
            choppedVegitables.Clear();
            ShowCollectedVegText();
        }

        if (col.gameObject.GetComponent <Pickups>() && isReadyForPickup)
        {
            Pickups pickups = col.gameObject.GetComponent <Pickups>();
            OnPickupCollect(pickups.pickupType);
            pickups.HidePickup();
        }
    }
Ejemplo n.º 7
0
 void Start()
 {
     knifeSet = GameObject.Find("KnifeSet").GetComponent<KnifeSet>();
     choppingBoard = GameObject.Find("ChoppingBoard").GetComponent<ChoppingBoard>();
     mainCamera = FindObjectOfType<Camera>();
     playerController = FindObjectOfType<PlayerController>();
     homeRecipeCard.gameObject.SetActive(false);
 }
Ejemplo n.º 8
0
    void Update()
    {
        if (timeForMaxSpeed >= 0)
        {
            timeForMaxSpeed -= Time.deltaTime;
        }
        //store script component of interactables.
        if (toInteract)
        {
            Interactable objToInteract = toInteract.GetComponent <Interactable>();
            //check for vegetables
            if (objToInteract.Type == "Vegetable" && Input.GetKeyDown(useKey) &&
                vegetablesInHand.Count < 2)
            {
                //add vege to hand
                string vegeName = objToInteract.Name;
                AddToPlayerHand(vegeName);
            }

            //check for chopping Board
            if (objToInteract.Type == "Board")
            {
                //storing argument to pass on function..
                int boardID = objToInteract.ID;
                choppedVege = toInteract.GetComponent <ChoppingBoard>();
                //chop vegetables.
                if (vegetablesInHand.Count > 0 && Input.GetKeyDown(useKey) &&
                    choppedVege.Container.Count < 3 && !startChoping)
                {
                    isChopping = true;
                    StartCoroutine(ChoppingVege(boardID, choppedVege));
                }
                //pick up dish from Board.
                else if (vegetablesInHand.Count == 0 && Input.GetKeyDown(useKey) &&
                         readyDish.text == "")
                {
                    //add dish on player hand
                    AddSaladOnPlayer(boardID);
                }
            }

            //check for Dustbin
            if (objToInteract.Type == "Dustbin")
            {
                //delete choppedvege list
                if (Input.GetKeyDown(useKey))
                {
                    if (choppedVege)
                    {
                        ClearChoppedVegeBoard(choppedVege);
                    }
                }
            }

            //check for Dish
            if (objToInteract.Type == "Dish" && Input.GetKeyDown(useKey))
            {
                int dishID = objToInteract.ID;
                dishItem = toInteract.GetComponent <Dish>();
                AddToDish(dishID, dishItem);
            }

            //check for Customer
            if (objToInteract.Type == "Customer" && Input.GetKeyDown(useKey))
            {
                //   Debug.Log("Customer Interaction.");
                cust = objToInteract.GetComponent <Customer>();
                isCustomerDone();
            }
        }
    }
Ejemplo n.º 9
0
    private void ProcessInteraction()
    {
        switch (m_CollidedObject.tag)
        {
        case "VegetableDispenser":
            VegetableDispenserType dispenserType = m_CollidedObject.GetComponent <VegetableDispenser>().pDispenserType;
            if (!IsAlreadyExists(dispenserType))
            {
                AddVegetable(dispenserType);
            }
            break;

        case "ChoppingBoard":
            ChoppingBoard choppingBoard = m_CollidedObject.GetComponent <ChoppingBoard>();
            if (choppingBoard.pCurrentState == ChoppingBoardState.MAKE_SALAD)
            {
                Salad salad = choppingBoard.pSaldOnBoard;
                salad.transform.SetParent(this.gameObject.transform);
                Utilities.Util.SetDefaultLocalTransform(salad.gameObject);
                choppingBoard.SetState(ChoppingBoardState.CLEARED);
                m_SaladOnHand = salad;
            }
            else
            {
                if (m_Vegetables.Count > 0)
                {
                    if (choppingBoard.CanAdd())
                    {
                        Vegetable veg = m_Vegetables[0];
                        choppingBoard.AddVegetable(veg.pVegetableType);
                        RemoveVegetable(veg);
                        GameObject go = Utilities.Util.FindChildObject(gameObject, veg.name);
                        veg.transform.SetParent(null);
                        Destroy(go);
                    }
                }
            }
            break;

        case "NextToChop":
            break;

        case "Salad":
        {
        }
        break;

        case "Customer":
        {
            if (m_SaladOnHand != null)
            {
                Customer customer = m_CollidedObject.GetComponent <Customer>();
                Salad    salad    = m_SaladOnHand;
                customer.OnSaladServed(salad.pSaladType, this.gameObject.GetComponent <PlayerController>());
                GameObject saladObj = Utilities.Util.FindChildObject(gameObject, salad.gameObject.name);
                saladObj.gameObject.transform.SetParent(null);
                Destroy(saladObj);
            }
        }
        break;
        }

        SetState(PlayerState.IDLE);
    }
Ejemplo n.º 10
0
 //function to put a veggie on the chopping board, currently only checks to
 //make sure a veggie can be dequeued
 void PutVegetableOnChoppingBoard(ChoppingBoard board)
 {
     transform.position = board.newPlayerPos.position;
     board.StartChopping("Chopped " + TakeItemFromQueue().veggieName);
 }