public void swapItemWith(InventoryBox swapper){
		Item swap = swapper.getItem();
		int level = parent.getPlayerInfo().getLevel();
		boolean check = false;
		if (isUnique || swapper.isUnique()){
			check = true;
		}
		else if (isUnique && swapper.isUnique()){
			state = normal;
			swapper.setNormal();
			return;
		}
		if (!check){
			if (swap != null){
				swapper.addItem(item);
				addItem(swap);
			}
			else{
				swapper.addItem(item);
				item = null;
				setHasItem(false);
			}
		}
		else{
			if (swap != null){
				if (isUnique && swap.getType() == type && swap.getLvlReq() <= level){
					swapper.addItem(item);
					addItem(swap);
				}
				else if (swapper.isUnique() && item.getType() == swapper.getUnique() && item.getLvlReq() <= level){
					swapper.addItem(item);
					addItem(swap);
				}
				else{
					state = normal;
					swapper.setNormal();
					return;
				}
			}
			else{
				if (swapper.isUnique() && item.getType() == swapper.getUnique() && item.getLvlReq() <= level){
					swapper.addItem(item);
					item = null;
					setHasItem(false);
				}
				else if (!swapper.isUnique()){
					swapper.addItem(item);
					item = null;
					setHasItem(false);
				}
				else{
					state = normal;
					swapper.setNormal();
					return;
				}
			}
		}
		state = normal;
		swapper.setNormal();
	}