public SaleResult Sell(out string itemSold) { itemSold = string.Empty; navigateToBuilding.NavigateTo(BuildingMatch.Get(Building.TradeDepot), 1); if (!this.tradeWindow.IsTradeDepotLogoVisible()) { return(SaleResult.Other); } var result = this.SellAnItem(out itemSold); touch.ClickAt(Bot.Location.HomeButton); return(result); }
public bool NavigateTo(BuildingMatch desiredBuilding, int depth) { if (depth == 100) { log.Info("failed to find building: " + desiredBuilding.ToString()); return(false); } //log.Info("looking for building: " + desiredBuilding.Building.ToString()); GoHomeIfAtAnotherCity(); if ((this.tradeWindow.IsTradeDepotLogoVisible() && desiredBuilding.Building == Building.TradeDepot) || (this.tradeWindow.IsGlobalTradeVisible() && desiredBuilding.Building == Building.GlobalTrade) ) { log.Info("at desired building: " + desiredBuilding.Building.ToString()); return(true); } CloseOfflineHomeIfOpen(); CloseTradeIfOpen(); if (desiredBuilding.Building == Building.TradeDepot) { if (!NavigateTo(BuildingMatch.Get(Building.HardwareStore), 1)) { return(false); } touch.ClickAt(Bot.Location.HomeTradeDepot); return(NavigateTo(desiredBuilding, depth++)); } if (desiredBuilding.Building == Building.GlobalTrade) { if (!NavigateTo(BuildingMatch.Get(Building.FastFoodRestaurant), 1)) { return(false); } touch.ClickAt(Bot.Location.GlobalTradeFromFastFood); return(NavigateTo(desiredBuilding, depth++)); } var buildingFound = buildingSelector.SelectABuilding(" going to [" + desiredBuilding.Building.ToString() + "]"); if (buildingFound == null) { log.Info("failed to find building: " + desiredBuilding.Building.ToString()); return(false); } // did we find it if (buildingFound.Building == desiredBuilding.Building) { log.Info("at desired building: " + desiredBuilding.Building.ToString()); return(true); } // do we need to switch building types if ((buildingFound.Building == NavigateToBuilding.FactorySwitch || buildingFound.Building == Building.HardwareStore) && buildingFound.BuildingType != desiredBuilding.BuildingType ) { touch.ClickAt(Location.BelowCentreMap); } else { touch.ClickAt(Location.RightButton); } return(NavigateTo(desiredBuilding, depth + 1)); }