def __init__(self, camp, pc: gears.base.Monster, fhq, **kwargs): super().__init__(0, 0, 0, 0, **kwargs) self.camp = camp self.pc = pc self.info = PetFHQIP(model=pc, width=fhqinfo.CENTER_COLUMN.w, camp=camp, font=pbge.SMALLFONT) self.column = widgets.ColumnWidget(fhqinfo.LEFT_COLUMN.dx, fhqinfo.LEFT_COLUMN.dy, fhqinfo.LEFT_COLUMN.w, fhqinfo.LEFT_COLUMN.h, padding=10) self.children.append(self.column) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Change Name", justify=0, draw_border=True, on_click=self._change_name)) if self.pc.pet_data.active: self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Send Home", justify=0, draw_border=True, on_click=self.leave_behind)) elif gears.tags.SCENE_PUBLIC in self.camp.scene.attributes: self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Bring Along", justify=0, draw_border=True, on_click=self.bring_along)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Dismiss {}".format(self.pc), justify=0, draw_border=True, on_click=self._dismiss)) self.fhq = fhq
def __init__(self, camp, pc: gears.base.Character, conlist: pbge.container.ContainerList, **kwargs): """ :type camp: gears.GearHeadCampaign """ super().__init__(0,0,0,0,**kwargs) self.camp = camp self.pc = pc self.conlist = conlist self.info_cache = dict() self.cc_up_button = widgets.ButtonWidget(0, 0, EQUIPMENT_COLUMN.w, 16, sprite=pbge.image.Image("sys_updownbuttons.png", 128, 16), off_frame=1) self.cc_down_button = widgets.ButtonWidget(0, 0, EQUIPMENT_COLUMN.w, 16, sprite=pbge.image.Image("sys_updownbuttons.png", 128, 16), frame=2, on_frame=2, off_frame=3) self.crate_selector = widgets.ScrollColumnWidget(0, 0, EQUIPMENT_COLUMN.w, EQUIPMENT_COLUMN.h - 42, up_button = self.cc_up_button, down_button=self.cc_down_button, padding=2) self.crate_column = widgets.ColumnWidget(EQUIPMENT_COLUMN.dx, EQUIPMENT_COLUMN.dy, EQUIPMENT_COLUMN.w, EQUIPMENT_COLUMN.h, draw_border=True) self.crate_column.add_interior(self.cc_up_button) self.crate_column.add_interior(self.crate_selector) self.crate_column.add_interior(self.cc_down_button) self.children.append(self.crate_column) self.ic_up_button = widgets.ButtonWidget(0, 0, INVENTORY_COLUMN.w, 16, sprite=pbge.image.Image("sys_updownbuttons.png", 128, 16), off_frame=1) self.ic_down_button = widgets.ButtonWidget(0, 0, INVENTORY_COLUMN.w, 16, sprite=pbge.image.Image("sys_updownbuttons.png", 128, 16), frame=2, on_frame=2, off_frame=3) self.inventory_selector = widgets.ScrollColumnWidget(0, 0, INVENTORY_COLUMN.w, INVENTORY_COLUMN.h - 42, up_button = self.ic_up_button, down_button=self.ic_down_button, padding=2) self.inventory_column = widgets.ColumnWidget(INVENTORY_COLUMN.dx,INVENTORY_COLUMN.dy,INVENTORY_COLUMN.w,INVENTORY_COLUMN.h,draw_border=True) self.inventory_column.add_interior(self.ic_up_button) self.inventory_column.add_interior(self.inventory_selector) self.inventory_column.add_interior(self.ic_down_button) self.children.append(self.inventory_column) self.children.append(PlayerCharacterSwitchPlusBPInfo(camp,pc,self.set_pc,draw_border=True)) self.update_selectors() self.finished = False
def _change_name(self, wid, ev): self.fhq.active = False myui = widgets.ColumnWidget(-100, -70, 200, 0, draw_border=True, center_interior=True, padding=16) myui.add_interior( pbge.widgets.LabelWidget(0, 0, 0, 0, "Change Name", font=pbge.BIGFONT)) myui.add_interior( pbge.widgets.TextEntryWidget(0, 0, 180, 24, text=self.pc.name, on_change=self._set_name)) myui.add_interior( pbge.widgets.LabelWidget(0, 0, 0, 0, "Done", justify=0, on_click=self._rename_done, draw_border=True)) pbge.my_state.widgets.append(myui) self.rename_finished = False while not self.rename_finished and not pbge.my_state.got_quit: ev = pbge.wait_event() if ev.type == pbge.TIMEREVENT: pbge.my_state.view() pbge.my_state.do_flip() elif ev.type == pygame.KEYDOWN: if ev.key == pygame.K_ESCAPE: self.rename_finished = True elif ev.key == pygame.K_RETURN or ev.key == pygame.K_KP_ENTER: self.rename_finished = True pbge.my_state.widgets.remove(myui) pygame.event.clear() self.info.update() self.fhq.update_party() self.fhq.active = True
def __init__(self, camp, pc, fhq, **kwargs): super(CharacterInfoWidget, self).__init__(0, 0, 0, 0, **kwargs) self.camp = camp self.pc = pc self.portrait = pc.get_portrait() self.column = widgets.ColumnWidget(fhqinfo.LEFT_COLUMN.dx, fhqinfo.LEFT_COLUMN.dy, fhqinfo.LEFT_COLUMN.w, fhqinfo.LEFT_COLUMN.h, padding=10) self.children.append(self.column) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 16, text="Inventory", justify=0, draw_border=True, on_click=self.open_backpack)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 16, text="Do Training", justify=0, draw_border=True, on_click=self.open_training)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 16, text="Assign Mecha", justify=0, draw_border=True, on_click=self.assign_mecha)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 16, text="Change Colors", justify=0, draw_border=True, on_click=self.change_colors)) self.fhq = fhq self.info = CharaFHQIP(model=pc, width=fhqinfo.CENTER_COLUMN.w, font=pbge.SMALLFONT, camp=camp)
def __init__(self, camp): self._active_info = None super(FieldHQ, self).__init__(0, 0, 0, 0) self.up_button = widgets.ButtonWidget(0, 0, fhqinfo.RIGHT_COLUMN.w, 16, sprite=pbge.image.Image( "sys_updownbuttons.png", 128, 16), off_frame=1) self.down_button = widgets.ButtonWidget(0, 0, fhqinfo.RIGHT_COLUMN.w, 16, sprite=pbge.image.Image( "sys_updownbuttons.png", 128, 16), frame=2, on_frame=2, off_frame=3) self.member_selector = widgets.ScrollColumnWidget( 0, 0, fhqinfo.RIGHT_COLUMN.w, fhqinfo.RIGHT_COLUMN.h - 42, up_button=self.up_button, down_button=self.down_button, autoclick=True, focus_locked=True) self.r_column = widgets.ColumnWidget(fhqinfo.RIGHT_COLUMN.dx, fhqinfo.RIGHT_COLUMN.dy, fhqinfo.RIGHT_COLUMN.w, fhqinfo.RIGHT_COLUMN.h) self.r_column.add_interior(self.up_button) self.r_column.add_interior(self.member_selector) self.r_column.add_interior(self.down_button) self.children.append(self.r_column) self.member_widgets = dict() self.camp = camp self.active_pc = camp.pc self.update_party() self.finished = False self.active_info = camp.pc
def __init__(self, camp, pc, fhq, **kwargs): super(MechaInfoWidget, self).__init__(0, 0, 0, 0, **kwargs) self.camp = camp self.pc = pc self.portrait = pc.get_portrait() self.info = MechaFHQIP(model=pc, width=fhqinfo.CENTER_COLUMN.w, camp=camp, font=pbge.SMALLFONT) self.column = widgets.ColumnWidget(fhqinfo.LEFT_COLUMN.dx, fhqinfo.LEFT_COLUMN.dy, fhqinfo.LEFT_COLUMN.w, fhqinfo.LEFT_COLUMN.h, padding=10) self.children.append(self.column) if not hasattr(pc, "owner") or not pc.owner: self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Inventory", justify=0, draw_border=True, on_click=self.open_backpack)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Assign Pilot", justify=0, draw_border=True, on_click=self.assign_pilot)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Change Colors", justify=0, draw_border=True, on_click=self.change_colors)) self.fhq = fhq
def __init__(self, camp, pc, fhq, **kwargs): super().__init__(0, 0, 0, 0, **kwargs) self.camp = camp self.pc = pc self.info = create_item_fhq_ip(model=pc, width=fhqinfo.CENTER_COLUMN.w, camp=camp, font=pbge.SMALLFONT) self.column = widgets.ColumnWidget(fhqinfo.LEFT_COLUMN.dx, fhqinfo.LEFT_COLUMN.dy, fhqinfo.LEFT_COLUMN.w, fhqinfo.LEFT_COLUMN.h, padding=10) self.children.append(self.column) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Give Item", justify=0, draw_border=True, on_click=self.give_item)) self.fhq = fhq
def __init__(self, camp, pc, fhq, **kwargs): super(CharacterInfoWidget, self).__init__(0, 0, 0, 0, **kwargs) self.camp = camp self.pc = pc self.portrait = pc.get_portrait() self.column = widgets.ColumnWidget(fhqinfo.LEFT_COLUMN.dx, fhqinfo.LEFT_COLUMN.dy, fhqinfo.LEFT_COLUMN.w, fhqinfo.LEFT_COLUMN.h, padding=10) self.children.append(self.column) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Inventory", justify=0, draw_border=True, on_click=self.open_backpack)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Do Training", justify=0, draw_border=True, on_click=self.open_training)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Assign Mecha", justify=0, draw_border=True, on_click=self.assign_mecha)) self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Change Colors", justify=0, draw_border=True, on_click=self.change_colors)) if pc.relationship and pbge.util.config.getboolean( "GENERAL", "dev_mode_on"): self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 16, text="Jump to Next Dev", justify=0, draw_border=True, on_click=self.jump_plot)) if pc is camp.pc: self.column.add_interior( widgets.LabelWidget(0, 0, fhqinfo.LEFT_COLUMN.w, 0, text="Edit Character", justify=0, draw_border=True, on_click=self.edit_pc)) self.fhq = fhq self.info = CharaFHQIP(model=pc, width=fhqinfo.CENTER_COLUMN.w, font=pbge.SMALLFONT, camp=camp)
def __init__(self, camp): super(FieldHQ, self).__init__(0, 0, 0, 0) self.up_button = widgets.ButtonWidget(0, 0, fhqinfo.RIGHT_COLUMN.w, 16, sprite=pbge.image.Image( "sys_updownbuttons.png", 128, 16), off_frame=1) self.down_button = widgets.ButtonWidget(0, 0, fhqinfo.RIGHT_COLUMN.w, 16, sprite=pbge.image.Image( "sys_updownbuttons.png", 128, 16), frame=2, on_frame=2, off_frame=3) self.member_selector = widgets.ScrollColumnWidget( 0, 0, fhqinfo.RIGHT_COLUMN.w, fhqinfo.RIGHT_COLUMN.h - 42, up_button=self.up_button, down_button=self.down_button) self.r_column = widgets.ColumnWidget(fhqinfo.RIGHT_COLUMN.dx, fhqinfo.RIGHT_COLUMN.dy, fhqinfo.RIGHT_COLUMN.w, fhqinfo.RIGHT_COLUMN.h) self.r_column.add_interior(self.up_button) self.r_column.add_interior(self.member_selector) self.r_column.add_interior(self.down_button) self.children.append(self.r_column) self.member_widgets = dict() for pc in camp.party: self.member_selector.add_interior( PartyMemberButton(camp, pc, fhq=self, on_click=self.click_member)) if isinstance(pc, gears.base.Character): self.member_widgets[pc] = CharacterInfoWidget(camp, pc, self, active=False) self.children.append(self.member_widgets[pc]) elif isinstance(pc, gears.base.Mecha): self.member_widgets[pc] = MechaInfoWidget(camp, pc, self, active=False) self.children.append(self.member_widgets[pc]) self.camp = camp self.finished = False self.active_pc = camp.pc self.active_widget = self.member_widgets.get(camp.pc, None) if self.active_widget: self.active_widget.active = True
def __init__(self, camp: gears.GearHeadCampaign, pc: gears.base.Character): super().__init__(0, 0, 0, 0) self.camp = camp self.pc = pc self.portrait = pc.get_portrait() self.portrait_area = pbge.frects.Frect(-400, -300, 400, 600) right_column = widgets.ColumnWidget(50, -200, 250, 400, padding=32, center_interior=True) self.children.append(right_column) name_column = widgets.ColumnWidget(0, 0, right_column.w, 64, draw_border=True, center_interior=True) name_column.add_interior( widgets.LabelWidget(0, 0, 100, 0, "name", justify=0)) self.name_widget = widgets.TextEntryWidget(0, 0, right_column.w - 20, 32, pc.name, font=pbge.BIGFONT, justify=0) name_column.add_interior(self.name_widget) right_column.add_interior(name_column) right_column.add_interior( widgets.LabelWidget(0, 0, right_column.w, 0, "Edit Portrait", font=pbge.BIGFONT, justify=0, draw_border=True, on_click=self._edit_portrait)) right_column.add_interior( widgets.LabelWidget(0, 0, right_column.w, 0, "Edit Gender", font=pbge.BIGFONT, justify=0, draw_border=True, on_click=self._edit_gender, text_fun=self._gender_fun)) right_column.add_interior( widgets.LabelWidget(0, 0, 200, 0, "Done", font=pbge.BIGFONT, justify=0, draw_border=True, on_click=self._done)) self.finished = False