bool IsPlacable(int pizzaNumber) { if (type == ObjType.PIZZA && pizzas [pizzaNumber] == null) { pizzas [pizzaNumber] = new SmallPizza(); return(true); } else if (type != ObjType.PIZZA) { if (pizzas [pizzaNumber] != null) { if (type == ObjType.CHICKEN) { pizzas [pizzaNumber] = new ChickenDecorator(pizzas [pizzaNumber]); } else if (type == ObjType.HAM) { pizzas [pizzaNumber] = new HamDecorator(pizzas [pizzaNumber]); } else if (type == ObjType.MUSHROOM) { pizzas [pizzaNumber] = new MushroomDecorator(pizzas [pizzaNumber]); } return(true); } } return(false); }
private void CreatePizza(List <ObjType> types, Vector3 pizzaPosition, Transform parent) { Pizza pizza = new SmallPizza(); for (int i = 0; i < types.Count; i++) { if (types [i] == ObjType.CHICKEN) { pizza = new ChickenDecorator(pizza); } if (types [i] == ObjType.HAM) { pizza = new HamDecorator(pizza); } if (types [i] == ObjType.MUSHROOM) { pizza = new MushroomDecorator(pizza); } } GameObject pizzaObj = pizza.CreatePizza(pizzaPosition + new Vector3(0f, 0f, -2f)); pizzaObj.transform.SetParent(parent); pizzaObj.transform.localScale = new Vector3(0.25f, 0.25f, 0.25f); }
static void Main(string[] args) { IPizza pizza = new LargePizza(); pizza = new ChickenDecorator(pizza); pizza = new CheeseDecorator(pizza); Console.WriteLine($"Pizza: {pizza.Description}"); Console.WriteLine($"\t>>> Price: {pizza.CalculateCost():c2}"); }