Esempio n. 1
0
    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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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'])
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)