def update()

in forge/blade/systems/exchange.py [0:0]


   def update(self, item):
      buyOffer  = self.buyOffers[item].peek()
      sellOffer = self.sellOffers[item].peek()

      if None in (buyOffer, sellOffer):
         return
      maxBuy, minSell = buyOffer.itemPrice, sellOffer.itemPrice
      itemPrice = minSell #Advantage given to buyer arbitrarily

      if maxBuy >= minSell:
         if sellOffer.quantLeft < buyOffer.quantLeft:
            buyOffer.buy(sellOffer.quantLeft, itemPrice)
            sellOffer.sell(sellOffer.quantLeft)
            self.sellOffers[item].get()
         elif sellOffer.quantLeft > buyOffer.quantLeft:
            buyOffer.buy(buyOffer.quantLeft, itemPrice)
            sellOffer.sell(buyOffer.quantLeft)
            self.buyOffers[item].get()
         elif sellOffer.quantLeft == buyOffer.quantLeft:
            buyOffers.buy(buyOffer.quantLeft, itemPrice)
            sellOffer.sell(sellOffer.quantLeft)
            self.buyOffers[item].get()
            self.sellOffers[item].get()

         self.update(item)