public static Strategy Build(Item item, IMarketObtainer obtainer) { if (!obtainer.CanBuyHere(item.Id, item.Amount)) { return(new NullObtainingStrategy(item)); } return(new BuyLocalStrategy(item, obtainer)); }
private BuyLocalStrategy(Item item, IMarketObtainer obtainer) : base(item) { _obtainer = obtainer; }
public Item WithOneDqBuyStrategy(IMarketObtainer obtainer) { _obtainingStrategies.Add(BuyLocalStrategy.Build(this, obtainer)); return(this); }