@Override
	public void startTrade() {
		if(presenter.isPlayersTurn()) {
			getTradeOverlay().setStateMessage("set the trade you want to make");
			getTradeOverlay().setResourceSelectionEnabled(true);
			getTradeOverlay().setPlayerSelectionEnabled(false);
			getTradeOverlay().setTradeEnabled(false);
	
			Player player = presenter.getClientModel().getServerModel().getPlayerByID(presenter.getPlayerInfo().getID());
		
			this.receiverIndex = -1;
			
			this.availableBrick = player.getBrick();
			this.availableOre = player.getOre();
			this.availableSheep = player.getSheep();
			this.availableWood = player.getWood();
			this.availableWheat = player.getWheat();
		
			boolean decrease = true;
		
			getTradeOverlay().setResourceAmountChangeEnabled(ResourceType.BRICK, this.availableBrick > 0, decrease);
			getTradeOverlay().setResourceAmountChangeEnabled(ResourceType.ORE, this.availableOre > 0, decrease);
			getTradeOverlay().setResourceAmountChangeEnabled(ResourceType.SHEEP, this.availableSheep > 0, decrease);
			getTradeOverlay().setResourceAmountChangeEnabled(ResourceType.WOOD, this.availableWood > 0, decrease);
			getTradeOverlay().setResourceAmountChangeEnabled(ResourceType.WHEAT, this.availableWheat > 0, decrease);
		
			this.offeredBrick = 0;
			this.offeredOre = 0;
			this.offeredSheep = 0;
			this.offeredWood = 0;
			this.offeredWheat = 0;
			
			this.desiredBrick = 0;
			this.desiredOre = 0;
			this.desiredSheep = 0;
			this.desiredWood = 0;
			this.desiredWheat = 0;
			
			this.brickState = 0;
			this.oreState = 0;
			this.sheepState = 0;
			this.woodState = 0;
			this.wheatState = 0;
		
			send = false;
			receive = false;
		
			ArrayList<PlayerDescription> otherPlayersList = new ArrayList<PlayerDescription>();
			//PlayerDescription[] gamePlayers = presenter.getPlayerInfoArray();
			ArrayList<Player> gamePlayers = (ArrayList<Player>) presenter.getClientModel().getServerModel().getPlayers();
			for (Player p : gamePlayers) {
				if (p.getPlayerIndex() != presenter.getPlayerInfo().getIndex()) {
					PlayerDescription temp = new PlayerDescription(p.getColor(), p.getPlayerID(), p.getName());
						temp.setIndex(p.getPlayerIndex());
						otherPlayersList.add(temp);
					}
				}
			PlayerDescription[] otherPlayers = new PlayerDescription[3];
			otherPlayers = otherPlayersList.toArray(otherPlayers);
			getTradeOverlay().setPlayers(otherPlayers);
			getTradeOverlay().showModal();
		}
		else {
			getTradeOverlay().setTradeEnabled(false);
			getTradeOverlay().setStateMessage("not your turn");
			getTradeOverlay().setResourceSelectionEnabled(false);
			getTradeOverlay().setPlayerSelectionEnabled(false);
			getTradeOverlay().showModal();
		}
	}