//dustbin void ClearChoppedVegeBoard(ChoppingBoard choBoard) { choBoard.Container.Clear(); choBoard.currChopped = 0; readyDish.text = ""; readySalad = null; }
//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(); }
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"); } }
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); } } }
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; }
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(); } }
void Start() { knifeSet = GameObject.Find("KnifeSet").GetComponent<KnifeSet>(); choppingBoard = GameObject.Find("ChoppingBoard").GetComponent<ChoppingBoard>(); mainCamera = FindObjectOfType<Camera>(); playerController = FindObjectOfType<PlayerController>(); homeRecipeCard.gameObject.SetActive(false); }
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(); } } }
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); }
//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); }