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)