private void FlingTopping() { if (PizzaManager.SharedInstance.currentPizzaObject) { PizzaToppingUnifier NewTopping = ObjectPooler.SharedInstance.GetTopping(_playerRef.ActiveTopping); if (NewTopping != null) { float mod = GetFlingPower(); Vector3 target = PizzaManager.SharedInstance.currentPizzaObject.GetComponentInChildren <MeshCollider>().bounds.center - _playerRef.transform.position; Vector3 spawnPos = gameObject.transform.position + Random.onUnitSphere * 0.6f; NewTopping.transform.position = spawnPos; NewTopping.gameObject.SetActive(true); NewTopping.Rigidbody.AddForce(target.normalized * mod, ForceMode.VelocityChange); IncreaseFlingPower(); } } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.O)) { //+1 topping currentTopping += 1; if ((int)currentTopping >= 11) { currentTopping -= 11; } Debug.Log("Current: " + currentTopping.ToString()); } else if (Input.GetKeyDown(KeyCode.P)) { //-1 topping currentTopping -= 1; if (currentTopping < 0) { currentTopping += 11; } Debug.Log("Current: " + currentTopping.ToString()); } if (Input.GetKeyDown(KeyCode.Space)) { //firetoppings PizzaToppingUnifier NewTopping = ObjectPooler.SharedInstance.GetTopping(currentTopping); if (NewTopping != null) { //for (int x = 0; x < 3; x++) { Vector3 spawnPos = gameObject.transform.position + Random.onUnitSphere * 0.6f; NewTopping.transform.position = spawnPos; //NewTopping.transform.rotation = gameObject.transform.rotation; NewTopping.gameObject.SetActive(true); //NewTopping.GetComponent<Rigidbody>().AddForce(gameObject.transform.right * -7f, ForceMode.Impulse); NewTopping.Rigidbody.AddForce(gameObject.transform.forward * Random.Range(minForce, maxForce), ForceMode.VelocityChange); } } } }
PizzaToppingUnifier OrderSpinach() { int objCounter = 0; if (spinach.Length > 1) { objCounter = Random.Range(0, spinach.Length); } else { objCounter = 0; } for (int i = 0; i < 10; i++) { GameObject obj = (GameObject)Instantiate(spinach[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledSpinach.Add(p); } return(PooledSpinach[PooledSpinach.Count - 1]); }
PizzaToppingUnifier OrderSauce() { for (int i = 0; i < 10; i++) { int objCounter = 0; if (sauce.Length > 1) { objCounter = Random.Range(0, sauce.Length); } else { objCounter = 0; } GameObject obj = (GameObject)Instantiate(sauce[objCounter], gameObject.transform.position, Quaternion.Euler(-90f, 0f, 0f)); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); //obj.transform.Rotate(Vector3.right, 90f); p.gameObject.SetActive(false); PooledSauce.Add(p); } return(PooledSauce[PooledSauce.Count - 1]); }
// Use this for initialization void Start() { if (sauce != null) { for (int i = 0; i < amountToPool; i++) { int objCounter = 0; if (sauce.Length > 1) { objCounter = Random.Range(0, sauce.Length); } else { objCounter = 0; } GameObject obj = (GameObject)Instantiate(sauce[objCounter], gameObject.transform.position, Quaternion.Euler(-90f, 0f, 0f)); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); //obj.transform.Rotate(Vector3.right, 90f); p.gameObject.SetActive(false); PooledSauce.Add(p); } } if (cheese != null) { for (int i = 0; i < amountToPool; i++) { int objCounter = 0; if (cheese.Length > 1) { objCounter = Random.Range(0, cheese.Length); } else { objCounter = 0; } GameObject obj = (GameObject)Instantiate(cheese[objCounter], gameObject.transform.position, Quaternion.Euler(-90f, 0f, 0f)); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); //obj.transform.Rotate(Vector3.right, 90f); p.gameObject.SetActive(false); PooledCheese.Add(p); } } if (pepperoni != null) { int objCounter = 0; if (pepperoni.Length > 1) { objCounter = Random.Range(0, pepperoni.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(pepperoni[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledPepperoni.Add(p); } } if (bacon != null) { int objCounter = 0; if (bacon.Length > 1) { objCounter = Random.Range(0, bacon.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(bacon[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledBacon.Add(p); } } if (anchovies != null) { int objCounter = 0; if (anchovies.Length > 1) { objCounter = Random.Range(0, anchovies.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(anchovies[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledAnchovies.Add(p); } } if (greenpepper != null) { int objCounter = 0; if (greenpepper.Length > 1) { objCounter = Random.Range(0, greenpepper.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(greenpepper[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledGreenPepper.Add(p); } } if (mushroom != null) { int objCounter = 0; if (mushroom.Length > 1) { objCounter = Random.Range(0, mushroom.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(mushroom[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledMushroom.Add(p); } } if (hotpepper != null) { int objCounter = 0; if (hotpepper.Length > 1) { objCounter = Random.Range(0, hotpepper.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(hotpepper[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledHotPepper.Add(p); } } if (pineapple != null) { int objCounter = 0; if (pineapple.Length > 1) { objCounter = Random.Range(0, pineapple.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(pineapple[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledPineapple.Add(p); } } if (spinach != null) { int objCounter = 0; if (spinach.Length > 1) { objCounter = Random.Range(0, spinach.Length); } else { objCounter = 0; } for (int i = 0; i < amountToPool; i++) { GameObject obj = (GameObject)Instantiate(spinach[objCounter]); obj.transform.parent = gameObject.transform; PizzaToppingUnifier p = obj.GetComponent <PizzaToppingUnifier>(); p.gameObject.SetActive(false); PooledSpinach.Add(p); } } }