def w_skill_priority_event(self, window: sg.Window, key: str, value: str): N = key[5] current_list = list(filter(lambda e: e != '', value.split(' > '))) available_list = [sk for sk in sk_list if sk not in current_list] current_list = priority_GUI('skill', key.replace('_', ' ').strip(), current_list, available_list, sk_list, window.mouse_location()).open() if current_list is not None: p = key[17:key.index('_', 17)] self.quest['wave'][N][f'character_{p}']['skill_priority'] = current_list if current_list != ['Same as Wave1'] else self.quest['wave']['1'][f'character_{p}']['skill_priority'] # noqa: E501 window[f'{self.__prefix_key}{key}'].Update(' > '.join(self.quest['wave'][N][f'character_{p}']['skill_priority']))
def handle_stamina_event(self, window: sg.Window, key: str, value): if '_use_' in key: self.quest['stamina']['use'] = value window[f'{self.__prefix_key}_stamina_priority_'].Widget.config(readonlybackground=('white' if value else 'gray')) self.update_stamina_bind(window) elif '_stamina_priority_' in key: current_list = list(filter(lambda e: e != '', value.split(' > '))) available_list = [s for s in stamina_list if s not in [c[:2] for c in current_list]] current_list = priority_GUI('stamina', key.replace('_', ' ').strip(), current_list, available_list, stamina_list, window.mouse_location()).open() if current_list is not None: self.quest['stamina']['priority'] = current_list window[f'{self.__prefix_key}{key}'].Update(' > '.join(current_list))