예제 #1
0
 public void HandleNewPizza(Constants.Toppings topping, int amount)
 {
     //Update hud icons
     foreach (HUDTopping t in _toppingsIcons)
     {
         if (t.ToppingType == topping)
         {
             t.SetToppingLevel(amount); //get amount here
         }
     }
 }
예제 #2
0
    public Constants.Toppings SetTopping(Constants.Toppings topping)
    {
        //assign that topping
        foreach (ToppingIcon t in _toppingsList)
        {
            if (t.Topping == topping)
            {
                _activeTopping.transform.position = t.IconImage.transform.position;
                return(t.Topping);
            }
        }

        //else assign first topping
        _activeTopping.transform.position = _toppingsList[0].IconImage.transform.position;
        return(_toppingsList[0].Topping);
    }
예제 #3
0
 public void UpdateToppings(Constants.Toppings topping, int amount)
 {
     if (topping == Constants.Toppings.dough)
     {
     }
     else if (topping == Constants.Toppings.sauce)
     {
         sauceAmount += amount;
     }
     else if (topping == Constants.Toppings.cheese)
     {
         cheeseAmount += amount;
     }
     else if (topping == Constants.Toppings.pepperoni)
     {
         pepperoniAmount += amount;
     }
     else if (topping == Constants.Toppings.bacon)
     {
         baconAmount += amount;
     }
     else if (topping == Constants.Toppings.anchovies)
     {
         anchoviesAmount += amount;
     }
     else if (topping == Constants.Toppings.greenPepper)
     {
         greenPepperAmount += amount;
     }
     else if (topping == Constants.Toppings.mushroom)
     {
         mushroomAmount += amount;
     }
     else if (topping == Constants.Toppings.hotPepper)
     {
         hotPepperAmount += amount;
     }
     else if (topping == Constants.Toppings.pineapple)
     {
         pineappleAmount += amount;
     }
     else if (topping == Constants.Toppings.spinach)
     {
         spinachAmount += amount;
     }
 }
예제 #4
0
    // 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);
                }
            }
        }
    }
예제 #5
0
 public void AddTopping(Constants.Toppings topping, int amount)
 {
     currentPizza.UpdateToppings(topping, amount);
 }
예제 #6
0
 public void AddTopping(Constants.Toppings topping)
 {
     currentPizza.UpdateToppings(topping, 1);
 }
예제 #7
0
    void ScoreTopping(Constants.Toppings toppingType, int numberOftoppingsOnPizza, bool isNotRequested, ToppingAmounts toppAmount, Constants.PizzaSizes pizzasize)  //, Vector2 lightTopps, Vector2 regularTopps, Vector2 extraTopps)
    {
        int toppingSizeModifier    = Constants.SMALL_TOPPING_MODIFIER;
        int toppingSizeModifierMax = toppingSizeModifier + 1;

        if (pizzasize == Constants.PizzaSizes.medium)
        {
            toppingSizeModifier    = Constants.MEDIUM_TOPPING_MODIFIER;
            toppingSizeModifierMax = toppingSizeModifier + 1;
        }
        else if (pizzasize == Constants.PizzaSizes.large)
        {
            toppingSizeModifier    = Constants.LARGE_TOPPING_MODIFIER;
            toppingSizeModifierMax = toppingSizeModifier + 1;
        }

        int toppingExtraModifier = Constants.LIGHT_TOPPING_MODIFIER;

        if (toppAmount == ToppingAmounts.regular)
        {
            toppingExtraModifier = Constants.REGULAR_TOPPING_MODIFIER;
        }
        else if (toppAmount == ToppingAmounts.extra)
        {
            toppingExtraModifier = Constants.EXTRA_TOPPING_MODIFIER;
        }



        if (toppingType == Constants.Toppings.sauce)
        {
            minimumToppings = Constants.DEFAULT_SAUCE_AMOUNT * toppingSizeModifier * toppingExtraModifier;
            maximumToppings = Constants.DEFAULT_SAUCE_AMOUNT * toppingSizeModifierMax * toppingExtraModifier;
        }
        else if (toppingType == Constants.Toppings.cheese)
        {
            minimumToppings = Constants.DEFAULT_CHEESE_AMOUNT * toppingSizeModifier * toppingExtraModifier;
            maximumToppings = Constants.DEFAULT_CHEESE_AMOUNT * toppingSizeModifierMax * toppingExtraModifier;
        }
        else
        {
            minimumToppings = Constants.DEFAULT_TOPPING_AMOUNT * toppingSizeModifier * toppingExtraModifier;
            maximumToppings = Constants.DEFAULT_TOPPING_AMOUNT * toppingSizeModifierMax * toppingExtraModifier;
        }
        Debug.Log("Topping: " + toppingType);
        Debug.Log("minimum toppings: " + minimumToppings);
        Debug.Log("maximum toppings: " + maximumToppings);


        if (!isNotRequested)//if requested
        {
            Debug.Log("Number on pizza of " + toppingType + " :" + numberOftoppingsOnPizza);
            if (numberOftoppingsOnPizza > minimumToppings && numberOftoppingsOnPizza < maximumToppings)
            {
                //dont deduct points
            }
            else if (numberOftoppingsOnPizza < minimumToppings)
            {
                DeductScore(10);
            }
            else if (numberOftoppingsOnPizza > maximumToppings)
            {
                DeductScore(10);
            }
        }
        else if (isNotRequested)
        {
            Debug.Log("Entered not requested");
            if (numberOftoppingsOnPizza > 0)
            {
                DeductScore(15);
                Debug.LogWarning("I SAID NO");
            }
        }
    }
예제 #8
0
    public int ScorePizza()
    {
        //score dough
        //PizzaScore += CustomersPizza.ReturnDoughScore(PizzaOrderSize);



        //score sauce
        //Debug.LogWarning("Score sauce");
        NumberOfTopping = CustomersPizza.ReturnSauceAmount();
        toppingToCheck  = Constants.Toppings.sauce;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoSauce, SauceAmount, PizzaOrderSize);
        //score cheese
        //Debug.LogWarning("Score cheese");
        NumberOfTopping = CustomersPizza.ReturnCheeseAmount();
        toppingToCheck  = Constants.Toppings.cheese;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoCheese, CheeseAmount, PizzaOrderSize);
        //score pepperoni
        //Debug.LogWarning("Score pepperoni");
        NumberOfTopping = CustomersPizza.ReturnPepperoniAmount();
        toppingToCheck  = Constants.Toppings.pepperoni;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoPepperoni, PepperoniAmount, PizzaOrderSize);
        //score bacon
        //Debug.LogWarning("Score bacon");
        NumberOfTopping = CustomersPizza.ReturnBaconAmount();
        toppingToCheck  = Constants.Toppings.bacon;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoBacon, BaconAmount, PizzaOrderSize);
        //score anchovies
        //Debug.LogWarning("Score anchovies");
        NumberOfTopping = CustomersPizza.ReturnAnchoviesAmount();
        toppingToCheck  = Constants.Toppings.anchovies;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoAnchovies, AnchoviesAmount, PizzaOrderSize);
        //score green pepper
        //Debug.LogWarning("Score greenpepper");
        NumberOfTopping = CustomersPizza.ReturnGreenPepperAmount();
        toppingToCheck  = Constants.Toppings.greenPepper;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoGreenPepper, GreenPepperAmount, PizzaOrderSize);
        //score mushroom
        //Debug.LogWarning("Score mushroom");
        NumberOfTopping = CustomersPizza.ReturnMushroomAmount();
        toppingToCheck  = Constants.Toppings.mushroom;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoMushroom, MushroomAmount, PizzaOrderSize);
        //score hot pepper
        //Debug.LogWarning("Score hotpepper");
        NumberOfTopping = CustomersPizza.ReturnHotPepperAmount();
        toppingToCheck  = Constants.Toppings.hotPepper;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoHotPepper, HotPepperAmount, PizzaOrderSize);
        //score pineapple
        //Debug.LogWarning("Score pineapple");
        NumberOfTopping = CustomersPizza.ReturnPineappleAmount();
        toppingToCheck  = Constants.Toppings.pineapple;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoPineapple, PineappleAmount, PizzaOrderSize);
        //score spinach
        //Debug.LogWarning("Score spinach");
        NumberOfTopping = CustomersPizza.ReturnSpinachAmount();
        toppingToCheck  = Constants.Toppings.spinach;
        ScoreTopping(toppingToCheck, NumberOfTopping, NoSpinach, SpinachAmount, PizzaOrderSize);

        //Debug.LogError("Pizza Score: " + PizzaScore);
        return(Mathf.Clamp(PizzaScore, 0, 100));
    }
예제 #9
0
    public PizzaToppingUnifier GetTopping(Constants.Toppings toppingNumber)
    {
        if (toppingNumber == Constants.Toppings.sauce)
        {
            for (int i = 0; i < PooledSauce.Count; i++)
            {
                if (!PooledSauce[i].gameObject.activeInHierarchy)
                {
                    PooledSauce[i].transform.parent = gameObject.transform;
                    PooledSauce[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledSauce[i]);
                }
            }
            return(OrderSauce());
        }
        else if (toppingNumber == Constants.Toppings.cheese)
        {
            for (int i = 0; i < PooledCheese.Count; i++)
            {
                if (!PooledCheese[i].gameObject.activeInHierarchy)
                {
                    PooledCheese[i].transform.parent = gameObject.transform;
                    PooledCheese[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledCheese[i]);
                }
            }
            return(OrderCheese());
        }
        else if (toppingNumber == Constants.Toppings.pepperoni)
        {
            for (int i = 0; i < PooledPepperoni.Count; i++)
            {
                if (!PooledPepperoni[i].gameObject.activeInHierarchy)
                {
                    PooledPepperoni[i].transform.parent = gameObject.transform;
                    PooledPepperoni[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledPepperoni[i]);
                }
            }
            return(OrderPep());
        }
        else if (toppingNumber == Constants.Toppings.bacon)
        {
            for (int i = 0; i < PooledBacon.Count; i++)
            {
                if (!PooledBacon[i].gameObject.activeInHierarchy)
                {
                    PooledBacon[i].transform.parent = gameObject.transform;
                    PooledBacon[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledBacon[i]);
                }
            }
            return(OrderBacon());
        }
        else if (toppingNumber == Constants.Toppings.anchovies)
        {
            for (int i = 0; i < PooledAnchovies.Count; i++)
            {
                if (!PooledAnchovies[i].gameObject.activeInHierarchy)
                {
                    PooledAnchovies[i].transform.parent = gameObject.transform;
                    PooledAnchovies[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledAnchovies[i]);
                }
            }
            return(OrderAnchovies());
        }
        else if (toppingNumber == Constants.Toppings.greenPepper)
        {
            for (int i = 0; i < PooledGreenPepper.Count; i++)
            {
                if (!PooledGreenPepper[i].gameObject.activeInHierarchy)
                {
                    PooledGreenPepper[i].transform.parent = gameObject.transform;
                    PooledGreenPepper[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledGreenPepper[i]);
                }
            }
            return(OrderGreenPeppers());
        }
        if (toppingNumber == Constants.Toppings.mushroom)
        {
            for (int i = 0; i < PooledMushroom.Count; i++)
            {
                if (!PooledMushroom[i].gameObject.activeInHierarchy)
                {
                    PooledMushroom[i].transform.parent = gameObject.transform;
                    PooledMushroom[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledMushroom[i]);
                }
            }
            return(OrderMushroom());
        }
        else if (toppingNumber == Constants.Toppings.hotPepper)
        {
            for (int i = 0; i < PooledHotPepper.Count; i++)
            {
                if (!PooledHotPepper[i].gameObject.activeInHierarchy)
                {
                    PooledHotPepper[i].transform.parent = gameObject.transform;
                    PooledHotPepper[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledHotPepper[i]);
                }
            }
            return(OrderHotPepper());
        }
        else if (toppingNumber == Constants.Toppings.pineapple)
        {
            for (int i = 0; i < PooledPineapple.Count; i++)
            {
                if (!PooledPineapple[i].gameObject.activeInHierarchy)
                {
                    PooledPineapple[i].transform.parent = gameObject.transform;
                    PooledPineapple[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledPineapple[i]);
                }
            }
            return(OrderPineapple());
        }
        else if (toppingNumber == Constants.Toppings.spinach)
        {
            for (int i = 0; i < PooledSpinach.Count; i++)
            {
                if (!PooledSpinach[i].gameObject.activeInHierarchy)
                {
                    PooledSpinach[i].transform.parent = gameObject.transform;
                    PooledSpinach[i].SendMessage("Repooled", SendMessageOptions.DontRequireReceiver);
                    return(PooledSpinach[i]);
                }
            }
            return(OrderSpinach());
        }

        Debug.LogWarning("No topping returned.");
        return(null);
    }
예제 #10
0
 private void SetSpecificTopping(Constants.Toppings topping)
 {
     _activeTopping = _hudRef.SetTopping(topping);
 }
예제 #11
0
 private void CycleToppings(int direction)
 {
     _activeTopping = _hudRef.CycleToppings(direction);
 }