public static boolean shouldBuild() {
		int bays = UnitCounter.getNumberOfUnits(buildingType);
		// int barracks =
		// UnitCounter.getNumberOfUnits(TerranBarracks.getBuildingType());
		int factories = UnitCounter.getNumberOfUnits(TerranFactory.getBuildingType());

		// // Version for expansion with cannons
		// if (BotStrategyManager.isExpandWithBunkers()) {
		// if (bays == 0 && xvr.canAfford(132) &&
		// !Constructing.weAreBuilding(buildingType)) {
		// // if (UnitCounter.getNumberOfBattleUnits() >= 15) {
		// ShouldBuildCache.cacheShouldBuildInfo(buildingType, true);
		// return true;
		// // }
		// }
		// }

		// Version for expansion with gateways
		if (BotStrategyManager.isExpandWithBarracks()) {
			if (bays == 0 && factories >= 2 && !Constructing.weAreBuilding(buildingType)) {
				if (UnitCounter.getNumberOfBattleUnits() >= 14) {
					return ShouldBuildCache.cacheShouldBuildInfo(buildingType, true);
				}
			}
		}

		// if (bays == 1 &&
		// UnitCounter.getNumberOfUnits(TerranBarracks.getBuildingType()) >= 4
		// && xvr.canAfford(650) && !Constructing.weAreBuilding(buildingType)) {
		// if (UnitCounter.getNumberOfBattleUnits() >= 18) {
		// ShouldBuildCache.cacheShouldBuildInfo(buildingType, true);
		// return true;
		// }
		// }
		//
		// if (bays == 2 && xvr.canAfford(900) &&
		// !Constructing.weAreBuilding(buildingType)) {
		// ShouldBuildCache.cacheShouldBuildInfo(buildingType, true);
		// return true;
		// }

		return ShouldBuildCache.cacheShouldBuildInfo(buildingType, false);
	}