void Update()
        {
            if (Input.GetKeyDown(KeyCode.Return))
            {
                Debug.Log($"Description: {_beverage.GetDescription()}");
                Debug.Log($"Cost: {_beverage.Cost()}");
            }

            if (Input.GetKeyDown(KeyCode.D))
            {
                _beverage = new DarkRoast();
                _beverage = new Whip(_beverage);
                _beverage = new Milk(_beverage);
            }
            else if (Input.GetKeyDown(KeyCode.H))
            {
                _beverage = new HouseBlend();
                _beverage = new Whip(_beverage);
            }
            else if (Input.GetKeyDown(KeyCode.E))
            {
                _beverage = new Espresso();
                _beverage = new Whip(_beverage);
            }
        }
예제 #2
0
        public double Cost()
        {
            double cost = beverage.Cost();

            switch (this.Size)
            {
            case BeverageSize.TALL:
                cost += 0.30;
                break;

            case BeverageSize.GRANDE:
                cost += 0.35;
                break;

            case BeverageSize.VENTI:
                cost += 0.40;
                break;
            }

            return(cost);
        }
예제 #3
0
        public double Cost()
        {
            double soyCost;

            if (Size == BeverageSize.Tall)
            {
                soyCost = .10d;
            }
            else if (Size == BeverageSize.Grande)
            {
                soyCost = .15d;
            }
            else if (Size == BeverageSize.Venti)
            {
                soyCost = .20d;
            }
            else
            {
                throw new NotSupportedException(nameof(Soy) + " does not support calculating cost for BeverageSize " + Size.ToString());
            }

            return(_beverage.Cost() + soyCost);
        }
예제 #4
0
 private static void Display(IBeverage beverage)
 {
     Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost());
 }
예제 #5
0
 public double Cost()
 {
     return(_beverage.Cost() + _beverage.Cost() * _percent);
 }
예제 #6
0
 public double Cost()
 {
     return(_beverage.Cost() + .20);
 }
예제 #7
0
 public double Cost()
 {
     return(beverage.Cost());
 }
 public float Cost()
 {
     return(0.15f + beverage.Cost());
 }
예제 #9
0
/*      De esta forma es que se modifica el precio de la bebida
 *      conforme se le van agregando condimentos, cada condimento
 *      define su propio precio y descripcion que se agregan al
 *      precio original de la bebida,
 *
 *      pero ¿cómo es esto posible si la interfaz que implementan
 *      los condimentos es diferente?
 *
 *      entra a la interfaz ICondimentDecorator para analizarla
 */
        public double Cost()
        {
            return(0.20 + beverage.Cost());
        }
예제 #10
0
 public override int Cost()
 {
     return(bev.Cost() + 8);
 }
예제 #11
0
 public double Cost()
 {
     return(_beverage.Cost() + _price);
 }
예제 #12
0
 public int Cost()
 {
     return(_cost + _beverage.Cost() + ComputeExtraCostForSize());
 }
예제 #13
0
 public float Cost()
 {
     return(_beverage.Cost() + 2.00f);
 }
예제 #14
0
 public virtual double Cost()
 {
     return(Beverage.Cost());
 }
 public static void Print(this IBeverage beverage)
 {
     Console.WriteLine("{2} {0} {1:c}", beverage.GetDescription, beverage.Cost(), beverage.Size);
 }
예제 #16
0
 public float Cost()
 {
     return(beverage.Cost() + .20f);
 }
예제 #17
0
 public float Cost()
 {
     return(_beverage.Cost() + 1.25f);
 }
예제 #18
0
 public double Cost()
 {
     return(price + beverage.Cost());
 }