private static IBeverage AskForCondiments(IBeverage beverage) { var modifiedBeverage = beverage; char key = ' '; while(key != 'd') { Console.WriteLine(String.Format("You now have a {0}.", modifiedBeverage.Name)); Console.WriteLine(); Console.WriteLine("Would you like some condiments?"); Console.WriteLine(); Console.WriteLine("w: Whipped Cream"); Console.WriteLine("s: Soy Milk"); Console.WriteLine("v: Vanilla"); Console.WriteLine("r: Remove the last one"); Console.WriteLine("d: Done"); key = Console.ReadKey().KeyChar; Console.WriteLine(); Console.WriteLine(); switch (key) { case 'w': modifiedBeverage = new WhippedCream(modifiedBeverage); break; case 'v': modifiedBeverage = new VanillaSyrup(modifiedBeverage); break; case 's': modifiedBeverage = new SoyMilk(modifiedBeverage); break; case 'r': if (modifiedBeverage is CondimentDecorator) { modifiedBeverage = ((CondimentDecorator)modifiedBeverage).TheBeverage; } break; } } return modifiedBeverage; }
public Milk(IBeverage BaseBeverage) : base(BaseBeverage) { }
public Cream(IBeverage beverage) : base(beverage) { }
/// <summary> /// Цена - 15 /// </summary> public static IBeverage AddSyrup(this IBeverage beverage, SyrupType syrupType) { return(new Syrup(beverage, syrupType)); }
/// <summary> /// Цена - 10 * quantity /// </summary> public static IBeverage AddLemon(this IBeverage beverage, uint quantity = 1) { return(new Lemon(beverage, quantity)); }
public SugarDecorator(IBeverage beverage) { DecoratedBeverage = beverage; }
// TODO: this should use a concrete type /// <summary> /// Initializes a new instance of the DrinkOperator class. /// </summary> /// <param name="avatar">The avatar performing the action</param> /// <param name="beverage">The beverage that will be consumed</param> public DrinkOperator(Avatar avatar, IBeverage beverage) { _beverage = beverage; _avatar = avatar; }
public SoyMilk(IBeverage beverage) : base(beverage) { }
public Chocolate(IBeverage BaseBeverage) : base(BaseBeverage) { }
public Mocha(IBeverage beverage) : base(beverage) { }
public Milk(IBeverage beverage) { _beverage = beverage; }
public override string Prepare(IBeverage b) => $"Added syrup.\n{base.Prepare(b)}";
public ChocolateCrumbs(IBeverage beverage, uint mass) : base(beverage) { _mass = mass; }
public WhipDecorator(IBeverage beverage) : base(beverage) { }
public string Post(IBeverage bev) { string value = bev.ToString(); return string.Format("Beverage: {0}, Response: ({1})", bev.Name, value); // Moet de return value hiervan ook een Bundle worden? }
public Whip(IBeverage beverage) : base(beverage) { }
public Whip(IBeverage beverage) { this.beverage = beverage; }
public BeverageWithSugar(IBeverage beverage) { _beverage = beverage; }
public VanillaSyrup(IBeverage beverage) : base(beverage) { }
public string PutTogether(IBeverage beverage) { var result = beverage.GetBeverage(); return($"Cup for Latte with the {result}"); }
public Soy(IBeverage beverage) { this.beverage = beverage; }
public SoyDecorator(IBeverage beverage) : base(beverage) { }
/// <summary> /// Цена - iceCubeType * quantity. IceCubeType.Dry = 10, IceCubeType.Water = 5 /// </summary> public static IBeverage AddIceCubes(this IBeverage beverage, uint quantity, IceCubeType iceCubeType = IceCubeType.Water) { return(new IceCubes(beverage, quantity, iceCubeType)); }
public Syrup(IBeverage beverage, SyrupType syrupType) : base(beverage) { _syrupType = syrupType; }
/// <summary> /// Цена - 50 /// </summary> public static IBeverage AddLiquor(this IBeverage beverage, LiquorType liquorType) { return(new Liquor(beverage, liquorType)); }
public Milk(IBeverage beverage) : base(beverage) { }
public Milk(IBeverage beverage) { Beverage = beverage; Size = beverage.Size; }
public Whip(IBeverage beverage) : base(beverage) { this.description = "鮮奶油"; this.price = .25; }
public BigPortion(IBeverage beverage) : base(beverage) { _prefix = "Big"; _percent = 0.30; }
public IceCubes(IBeverage beverage, uint quantity, IceCubeType type = IceCubeType.Water) : base(beverage) { m_quantity = quantity; m_type = type; }
public MochaDecorator(IBeverage beverage) : base(beverage) { }
public Soy(IBeverage beverage) { _beverage = beverage; }
public Vanilla(IBeverage beverage) { this.beverage = beverage; }
public Whip(IBeverage beverage) { _beverage = beverage; }
public WhippedCream(IBeverage beverage) : base(beverage) { }
/// <summary> /// Цена - 2 умноженное на mass /// </summary> public static IBeverage AddChocolateCrumbs(this IBeverage beverage, uint mass) { return(new ChocolateCrumbs(beverage, mass)); }
protected CondimentDecorator(IBeverage beverage) { TheBeverage = beverage; }
/// <summary> /// Цена - 10 умноженное на quantity(максимум 5) /// </summary> public static IBeverage AddChocolateSlices(this IBeverage beverage, uint quantity) { return(new ChocolateSlices(beverage, quantity)); }
/// <summary> /// Constructor for Milk Decorator /// </summary> /// <param name="beverage"></param> public MilkDecorator(IBeverage beverage) { DecoratedBeverage = beverage; }
/// <summary> /// Цена - 20 /// </summary> public static IBeverage AddCinnamon(this IBeverage beverage) { return(new Cinnamon(beverage)); }
public Mocha(IBeverage beverage) { this.beverage = beverage; }
/// <summary> /// Цена = mass /// </summary> public static IBeverage AddCoconutFlakes(this IBeverage beverage, uint mass) { return(new CoconutFlakes(beverage, mass)); }
/// <summary> /// Attempt to drink the given object /// </summary> /// <param name="beverage"></param> /// <returns>An object used to complete the operation</returns> public DrinkOperator Drink(IBeverage beverage) { return new DrinkOperator(this, beverage); }
/// <summary> /// Цена - 25 /// </summary> public static IBeverage AddCream(this IBeverage beverage) { return(new Cream(beverage)); }