def get_ui_elements(self):
		if self.elements == None:
			session = self.model.session
			
			elements = []
			
			#elements.append(create_ui_text('Howdy - ScoreMenu', 'red', 5, 5))
			
			col0 = 5
			col1 = 200
			col2 = 320
			col3 = 430
			
			row0 = 15
			row1 = 50
			row2 = 90
			row3 = 130
			
			row4 = 190
			row5 = 230
			
			elements.append(create_ui_text('Fixed', 'white', col0, row1))
			elements.append(create_ui_text('Replaced', 'white', col0, row2))
			elements.append(create_ui_text('Special Order', 'white', col0, row3))
			
			elements.append(create_ui_text('Laptops', 'white', col1, row0))
			elements.append(create_ui_text('Phones', 'white', col2, row0))
			elements.append(create_ui_text('Tablets', 'white', col3, row0))
			
			counts = {}
			for device in session.devices:
				key = device.device_type + 's_' + device.resolution
				counts[key] = counts.get(key, 0) + 1
			
			col1 = 230
			
			elements.append(self.create_grid_element(counts.get('laptops_treated', 0), col1, row1, 'green'))
			elements.append(self.create_grid_element(counts.get('phones_treated', 0), col2, row1, 'green'))
			elements.append(self.create_grid_element(counts.get('tablets_treated', 0), col3, row1, 'green'))
			
			elements.append(self.create_grid_element(counts.get('laptops_replaced', 0), col1, row2, 'orange'))
			elements.append(self.create_grid_element(counts.get('phones_replaced', 0), col2, row2, 'orange'))
			elements.append(self.create_grid_element(counts.get('tablets_replaced', 0), col3, row2, 'orange'))
			
			elements.append(self.create_grid_element(counts.get('laptops_ordered', 0), col1, row3, 'red'))
			elements.append(self.create_grid_element(counts.get('phones_ordered', 0), col2, row3, 'red'))
			elements.append(self.create_grid_element(counts.get('tablets_ordered', 0), col3, row3, 'red'))
			
			elements.append(create_ui_text('Next Budget Allowance:', 'white', col0, row4))
			b = self.model.reward.calculate_next_budget()
			elements.append(create_ui_text('$' + str(b), 'green' if b > 0 else 'red', col2, row4))
			
			elements.append(create_ui_text('Average Turnaround:', 'white', col0, row5))
			t = self.model.reward.get_avg_turnaround()
			elements.append(create_ui_text('{0:.2g}'.format(t) + ' second' + ('' if t == 1 else 's'), 'gray', col2, row5))
			
			self.elements = elements
		return self.elements
	def get_ui_elements(self):
		if self.elements == None:
			elements = []
			
			elements.append(create_ui_text('Howdy - GraphMenu', 'yellow', 0, 0))
			
			self.elements = elements
		return self.elements
	def get_ui_elements(self):
		if self.elements == None:
			elements = []

			col1 = 25
			col2 = 230
			col3 = 400
			
			row1 = 10
			row2 = 150
			row3 = row2 * 2 - row1
			
			
			lava_lamp_image = create_ui_image_list([
				IMAGES.get('furniture/lava_lamp0.png'),
				IMAGES.get('furniture/lava_lamp1.png'),
				IMAGES.get('furniture/lava_lamp2.png'),
				IMAGES.get('furniture/lava_lamp3.png')], col1 + 32, row1)
			elements.append(lava_lamp_image)
			elements.append(create_ui_button('$' + str(LAVA_PRICE), self.buy_lava, col1, row1 + 70, 100, 24, lambda:self.can_afford(LAVA_PRICE)))
			
			plush_image = create_ui_image(IMAGES.get('furniture/the_doll.png'), col2 + 12, row1)
			elements.append(plush_image)
			elements.append(create_ui_button('$' + str(PLUSH_PRICE), self.buy_plush, col2, row1 + 70, 100, 24, lambda:self.can_afford(PLUSH_PRICE)))
			
			plant_image = create_ui_image(IMAGES.get('furniture/potted_flower.png'), col3 + 32, row1)
			elements.append(plant_image)
			elements.append(create_ui_button('$' + str(PLANT_PRICE), self.buy_plant, col3, row1 + 70, 100, 24, lambda:self.can_afford(PLANT_PRICE)))
			
			bean_bag_image = create_ui_image(IMAGES.get('furniture/bean_bag.png'), col1 + 16, row2)
			elements.append(bean_bag_image)
			elements.append(create_ui_button('$' + str(BEAN_BAG_PRICE), self.buy_bean_bag, col1, row2 + 70, 100, 24, lambda:self.can_afford(BEAN_BAG_PRICE)))
			
			foosball_image = create_ui_image(IMAGES.get('furniture/foosball.png'), col2, row2)
			elements.append(foosball_image)
			elements.append(create_ui_button('$' + str(FOOSBALL_PRICE), self.buy_foosball, col2, row2 + 70, 100, 24, lambda:(self.can_buy_foosball() and self.can_afford(FOOSBALL_PRICE))))
			
			description = create_ui_text('Mouse over item for description.', 'white', col1, row3 - 32)
			elements.append(description)
			
			
			descriptions = [
				(lava_lamp_image, "Lava lamp:\n+2% productivity, small radius."),
				(plush_image, "Giant plush:\n-10% chance of sad/angry/crazy\ndevices."),
				(plant_image, "Famous flower:\n+10% productivity, small radius."),
				(bean_bag_image, "Bean Bag:\n+3% productivity everywhere."),
				(foosball_image, "Miniature Sportsball:\n-5% productivity, devices don't\nland near it. Limit 1"),
			]
			
			for t in descriptions:
				img, text = t
				elements.append(create_ui_hover_region(description, img.left, img.top, img.right, img.bottom, text))
			
			
			self.elements = elements
		return self.elements
	def create_grid_element(self, num, x, y, value_color):
		color = 'gray'
		if num > 0: color = value_color
		return create_ui_text(num, color, x, y)