def render_battle_cards(self): with ModelSelect.choices_cache: for i in range(self.BATTLE_CARDS_PAGE_LENGTH): ModelSelect("battle_cards.%d+battle_cards_offset.card_type" % i, "", choices=BATTLE_CARDS) ModelSelect("battle_cards.%d+battle_cards_offset.card_value" % i, "", choices=map(str, range(10))) with Group.active_group().footer: Pagination(self.on_battle_cards_page, self.BATTLE_CARDS_PAGE_TOTAL)
def render_weapon(self): player = self.weak._player self.weapon_views = [] for i in range(1, len(self.WEAPON_LIST)): self.weapon_views.append( WeaponWidget(player, "weapon%d" % i, "武器槽%d" % i, i, self.SLOT_NO_AMMO, self.WEAPON_LIST)) with Group.active_group().footer: ui.Button(label="一键最大", onclick=self.weapon_max)
def render_train_items(self): datasets = self.datasets with ModelSelect.choices_cache: for i in range(10): ModelSelect("train_items.%d+train_items_offset.item" % i, "", choices=datasets.ITEMS) ModelInput("train_items.%d+train_items_offset.count" % i, "数量") with Group.active_group().footer: Pagination(self.on_train_items_page, self.TRAIN_ITEMS_PAGE_TOTAL)
def render_items(self, item=None): with ModelSelect.choices_cache: for i in range(self.IREM_PAGE_LENGTH): ModelSelect("{0}.{1}+{0}_offset.item".format( item['key'], i), "", choices=item['source'].choices, values=item['source'].values) ModelInput( "{0}.{1}+{0}_offset.count".format(item['key'], i), "数量") with Group.active_group().footer: Pagination(partial(on_page_change, self.weak, item=item), item['page_count'])
def render_person(self): Choice("角色", datasets.PERSONS, self.on_person_change) ModelInput("hp_max") ModelInput("resist") ModelInput("str") ModelInput("mgc") ModelInput("agl") ModelInput("vit") ModelInput("hp_heal") ModelArrayInput("resistance", label=["%s抗性" % item for item in datasets.ATTRIBUTE]) ModelFlagWidget("adaptive", cols=3, labels=datasets.ATTRIBUTE) with Group.active_group().footer: ui.Button("全技能", onclick=self.weak.all_skills)
def render_storage(self): choices = datasets.HUMAN_EQUIPS + datasets.HUMAN_ITEMS + datasets.CHARIOT_EQUIPS + datasets.CHARIOT_ITEMS values = (tuple(range(len(datasets.HUMAN_ITEMS))) + tuple( (0x0100 | i) for i in range(len(datasets.HUMAN_EQUIPS))) + tuple( (0x0200 | i) for i in range(len(datasets.CHARIOT_ITEMS))) + tuple( (0x0300 | i) for i in range(len(datasets.CHARIOT_EQUIPS)))) with ModelSelect.choices_cache: for i in range(self.STORAGE_PAGE_LENGTH): ModelSelect("storage.%d+storage_offset" % i, "", choices=choices, values=values, dragable=True) with Group.active_group().footer: Pagination(self.on_storage_page, self.STORAGE_PAGE_TOTAL)
def render_chariot_items(self): datasets = self.datasets def detail_keep_click(key): return partial(__class__.show_chariot_item_info, self.weak, key=key, read=False) def detail_click(key): return partial(__class__.show_chariot_item_info, self.weak, key=key) def preset_click(key): return partial(__class__.show_chariot_item_preset, self.weak, dialog_name='chariot_weapon_dialog', key=key) def preset_ci_click(key): return partial(__class__.show_chariot_item_preset, self.weak, dialog_name='chariot_ci_dialog', key=key) item_choices = self.datasets.CHARIOT_ALL_ITEM.choices item_values = self.datasets.CHARIOT_ALL_ITEM.values with ModelChoiceDisplay("equips.0.equip", "C装置", choices=item_choices, values=item_values).container: ui.Button("上次", className="btn_sm", onclick=detail_keep_click("equips.0")) ui.Button("详情", className="btn_sm", onclick=detail_click("equips.0")) ui.Button("预设", className="btn_sm", onclick=preset_ci_click("equips.0")) with ModelChoiceDisplay("equips.1.equip", "引擎", choices=item_choices, values=item_values).container: ui.Button("上次", className="btn_sm", onclick=detail_keep_click("equips.1")) ui.Button("详情", className="btn_sm", onclick=detail_click("equips.1")) ui.Button("预设", className="btn_sm", onclick=preset_ci_click("equips.1")) with ModelChoiceDisplay("equips.2.equip", "C装置2/引擎2", choices=item_choices, values=item_values).container: ui.Button("上次", className="btn_sm", onclick=detail_keep_click("equips.2")) ui.Button("详情", className="btn_sm", onclick=detail_click("equips.2")) ui.Button("预设", className="btn_sm", onclick=preset_ci_click("equips.2")) for i in range(5): key = "equips.%d" % (i + 3) exui.Label("炮穴%d" % (i + 1)) with ui.Horizontal(className="fill"): if self.has_holes: ModelSelect("hole_type.%d" % i, "类型", choices=datasets.HOLE_TYPE, values=datasets.HOLE_TYPE_VALUES) ModelChoiceDisplay(key + '.equip', "", choices=item_choices, values=item_values) ui.Button("上次", className="btn_sm", onclick=detail_keep_click(key)) ui.Button("详情", className="btn_sm", onclick=detail_click(key)) ui.Button("预设", className="btn_sm", onclick=preset_click(key)) for i in range(self.chariot.items.length): key = "items.%d" % i with ModelChoiceDisplay(key + '.item', "物品%d" % (i + 1), choices=item_choices, values=item_values).container: ui.Button("上次", className="btn_sm", onclick=detail_keep_click(key)) ui.Button("详情", className="btn_sm", onclick=detail_click(key)) ui.Button("C装置/引擎", onclick=preset_ci_click(key)) ui.Button("武器", className="btn_sm", onclick=preset_click(key)) with Group.active_group().footer: ui.Button("导入字段", onclick=self.weak.load_chariot_fields) ui.Button("导出字段", onclick=self.weak.dump_chariot_fields)