public void update() {
		//TODO update UI
		
		if (getTimer().getDay() != day) {
			day = getTimer().getDay();
		}
		if (getTimer().getDay()) {
			if (getTimer().getHour() != hour) {
				hour = getTimer().getHour();
				if (hour == 0) {
					// new day
					days++;
					for (Settlement s : settlements) {
						s.levelUp();
					}
				}
			} 
		} else {
			if (getTimer().getHour() != hour) {
				hour = getTimer().getHour();
			}
		}
		if (days == 31) {
			// new month
			month++;
			days = 0;
		}
		if (month == 12) {
			// new year
			year++;
			month = 0;
		}
		
		getLevel().update();
		for (int i = 0; i < settlements.size(); i++) {
			settlements.get(i).update();
		}
	}