public void ChangeVegetable() { if (typeOfVegetable != VegetableType.Combo) { gameObject.name = typeOfVegetable.ToString(); nameText.text = typeOfVegetable.ToString(); } switch (typeOfVegetable) { case VegetableType.Cucumber: cuttingDuration = 1; break; case VegetableType.Onion: cuttingDuration = 1.5f; break; case VegetableType.Tomato: cuttingDuration = 2; break; case VegetableType.Raddish: cuttingDuration = 2.5f; break; case VegetableType.Lettuce: cuttingDuration = .75f; break; case VegetableType.Spinach: cuttingDuration = .5f; break; case VegetableType.None: cuttingDuration = 0; nameText.text = ""; break; default: break; } }
public Vegetable CreateVegetable(VegetableType veg) { GameObject go = (GameObject)Instantiate(Resources.Load(VEGETABLE_ASSETS_PATH + "/" + veg.ToString())); return(go.GetComponent <Vegetable>()); }
private void SubscribeInput(PlayerController playerController) { if (!m_PlayerInZone.Contains(playerController.PlayerIndexValue)) { return; } switch (m_VegetableState) { case STATE.IDLE: if (playerController.OrderOfCollection.Count == 2 || playerController.OrderOfCollection.Contains(m_VegetableType)) //Can pickup only 2 veg, also checks not to pick up duplicate veg again { return; } if (SpawnVegtable != null) { SpawnVegtable(this.gameObject, m_OriginalPosition); } gameObject.layer = m_OwnerPlayerController.gameObject.layer; playerController.OrderOfCollection.Add(m_VegetableType); m_OwnerPlayerController.TextStatus.text = "Picked " + m_VegetableType.ToString(); m_VegetableState = STATE.PICKED; this.transform.SetParent(playerController.transform); break; case STATE.PICKED: if (playerController.OrderOfCollection[0] == m_VegetableType) { GetComponent <Collider>().enabled = false; this.transform.SetParent(m_ChoppingBoardOwner.transform); this.transform.localPosition = new Vector3(UnityEngine.Random.Range(-0.2f, 0.2f), 0, UnityEngine.Random.Range(-0.2f, 0.2f)); m_OwnerPlayerController.TextStatus.text = "Placed " + m_VegetableType.ToString() + " On Board"; m_VegetableState = STATE.TOBECHOPPED; } break; case STATE.TOBECHOPPED: if (!m_ChoppingBoardOwner.m_IsBeingChopped && m_ChoppingBoardOwner.m_IsPlayerInArea) //veg can only be chopped if other veg is not being chopped and player is in the collision area { m_OwnerPlayerController.ChangeSpeed(0); m_ChoppingBoardOwner.CurrentVegetableType = m_VegetableType; m_ChoppingBoardOwner.m_IsBeingChopped = true; m_VegetableState = STATE.CHOPPED; } break; case STATE.CHOPPED: if (!m_ChoppingBoardOwner.m_IsBeingChopped && m_ChoppingBoardOwner.m_IsPlayerInArea) //veg can only be kept in plate if it is chopped and player is in the collision area { m_OwnerPlayerController.ChangeSpeed(8); this.transform.SetParent(m_ChoppingBoardOwner.Plate.transform); this.transform.localPosition = new Vector3(UnityEngine.Random.Range(-0.027f, 0.027f), 19f, UnityEngine.Random.Range(-0.16f, 0.2f)); this.transform.localScale = new Vector3(.5f, .5f, .5f); m_OwnerPlayerController.TextStatus.text = m_VegetableType.ToString() + " Placed On Plate"; if (AddvegetableToSalad != null) { AddvegetableToSalad(m_VegetableType, m_ChoppingBoardOwner.ChoppingBoardTypeEnum); } m_OwnerPlayerController.OrderOfCollection.RemoveAt(0); m_VegetableState = STATE.READY; } break; case STATE.READY: return; default: break; } }