def events(self, cur_key):
for e in pygame.event.get():
if e.type == pygame.MOUSEBUTTONDOWN and e.button == 1 and cur_key:
self.action_call(cur_key)
elif e.type == pygame.KEYDOWN:
if e.key in (pygame.K_UP, pygame.K_DOWN) and self.cursor:
self.cursor.keypress(e.key)
elif e.key in (pygame.K_RETURN, pygame.K_KP_ENTER) and self.cursor:
self.action_call(self.cursor.active_key)
elif e.key == pygame.K_ESCAPE:
actionKEY = ('exit', 'return')['return' in self.menuitems.keys()]
self.action_call(actionKEY)
elif e.key in (pygame.K_LEFT, pygame.K_RIGHT) and self.menuitems and self.cursor and 'SELECTOR' in self.menuitems[self.cursor.active_key].type:
self.menuitems[self.cursor.active_key].selector.keypress(e.key)
elif self.menuitems and ('main_new_edit_player' in self.menuitems['exit'].type or self.menuitems['exit'].type == 'main_settings_player'):
self.input_handling(e, 'name_MI', 15)
elif self.labels and 'property_management_input' in self.labels.keys():
self.input_handling(e, 'property_management_input', 2)
elif self.labels and check_substring_in_dict_keys(self.labels, 'trading_input'):
label_key = check_substring_in_dict_keys(self.labels, 'trading_input')
if label_key == 'trading_input_fields':
max_length = 2
elif label_key == 'trading_input_auction_bet':
max_length = len(str(Globals.TEMP_VARS['auction']['order'][0].money))
else:
trader = ('trader', 'tradingwith')['ask_for' in label_key]
max_length = len(str(Globals.TEMP_VARS['trading'][trader]['info'].money))
self.input_handling(e, label_key, max_length)
elif self.cursor and e.key in self.menuitems[self.cursor.active_key].HOTKEYS:
self.action_call(self.cursor.active_key)
else:
for key in self.menuitems.keys():
if self.menuitems[key].type[:4] != 'main' and e.key in self.menuitems[key].HOTKEYS:
self.action_call(key)
elif e.type == pygame.QUIT:
SYSEXIT()
评论列表
文章目录