def initializeNametag3d(self):
     if self.avatarType.isA(AvatarType(base=AvatarTypes.Animal)):
         return
     Avatar.Avatar.initializeNametag3d(self)
     self.nametag3d.setH(self.getGeomNode().getH())
     self.nametag3d.setFogOff()
     self.nametag3d.setLightOff()
     self.nametag3d.setColorScaleOff(100)
     self.nametag.setFont(PiratesGlobals.getPirateBoldOutlineFont())
     self.iconNodePath = self.nametag.getNameIcon()
     if self.iconNodePath.isEmpty():
         self.notify.warning('empty iconNodePath in initializeNametag3d')
         return 0
     if not self.nameText:
         self.nameText = OnscreenText(
             fg=Vec4(1, 1, 1, 1),
             bg=Vec4(0, 0, 0, 0),
             scale=1.1,
             align=TextNode.ACenter,
             mayChange=1,
             font=PiratesGlobals.getPirateBoldOutlineFont())
         self.nameText.reparentTo(self.iconNodePath)
         self.nameText.setTransparency(TransparencyAttrib.MDual, 2)
         self.nameText.setColorScaleOff(100)
         self.nameText.setLightOff()
         self.nameText.setFogOff()
         scale = self.nametag3d.getScale(render)
         self.nameText.setScale(1.0 / scale[0])
 def __init__(self,
              hotkeys=(),
              hotkeyLabel='J',
              helpText=None,
              parent=None,
              **kw):
     gui = loader.loadModel('models/gui/toplevel_gui')
     iconTexture = gui.find('**/topgui_icon_journal')
     gui.removeNode()
     del gui
     optiondefs = (('image', iconTexture, None), ('image_scale', 0.5, None),
                   ('sortOrder', 1, None), ('relief', None, None))
     self.defineoptions(kw, optiondefs)
     GuiButton.GuiButton.__init__(self,
                                  hotkeys=hotkeys,
                                  hotkeyLabel=hotkeyLabel,
                                  helpText=helpText,
                                  parent=parent)
     self.initialiseoptions(JournalButton)
     self.questCounter = 0
     self.infoText = DirectFrame(
         parent=self,
         relief=None,
         text=PLocalizer.JournalButtonInfo,
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         textMayChange=1,
         pos=(0, 0, 0.1))
     self.numberText = DirectFrame(
         parent=self,
         relief=None,
         text=str(self.questCounter),
         text_align=TextNode.ACenter,
         text_scale=0.08,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateOutlineFont(),
         textMayChange=1,
         pos=(0, 0, -0.01))
     self.hotkeyLabel = DirectLabel(
         parent=self,
         relief=None,
         state=DGG.DISABLED,
         text=hotkeyLabel,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ARight,
         text_scale=PiratesGuiGlobals.TextScaleSmall,
         text_pos=(0.1, -0.04),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         textMayChange=0)
     return
示例#3
0
 def __init__(self,
              manager,
              sizeX=1.0,
              sizeZ=1.0,
              countX=1,
              countZ=1,
              hotkeyList=[]):
     InventoryUIContainer.InventoryUIContainer.__init__(self,
                                                        manager,
                                                        sizeX,
                                                        sizeZ,
                                                        countX,
                                                        countZ,
                                                        cellInfo=hotkeyList)
     self.containerType = CONTAINER_BELT
     gui = loader.loadModel('models/gui/gui_icons_weapon')
     self.cellImage = gui.find('**/pir_t_gui_frm_inventoryBox')
     self.initialiseoptions(InventoryUIBeltGrid)
     self.rightClickAction = {
         InventoryType.ItemTypeWeapon: (Locations.RANGE_WEAPONS, None, 0),
         InventoryType.ItemTypeCharm: (Locations.RANGE_WEAPONS, None, 1)
     }
     self.freeWeaponInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.FreeWeaponFromBlackSmith,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.040000000000000001,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0))
     self.freeWeaponInfo.setPos(0.34999999999999998, 0,
                                -0.10000000000000001)
     self.freeWeaponInfo.show()
     self.overflowInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.OverflowHint,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.040000000000000001,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0))
     self.overflowInfo.setPos(0.34999999999999998, 0, -0.10000000000000001)
     self.overflowInfo.hide()
     self.accept('overflowChanged', self.handleOverflow)
     self.accept('newItemHeld', self.handleNewHeldItem)
     self.accept('checkForWeapons', self.checkforNoWeapons)
示例#4
0
 def __init__(self, manager, itemTuple, imageScaleFactor=1.0):
     sizeX = 1.0
     sizeZ = 1.0
     textScale = 0.040000000000000001
     optiondefs = (('relief', None, None), ('borderWidth', (0.01, 0.01),
                                            None),
                   ('state', DGG.DISABLED, None), ('text', '', None),
                   ('text_font', PiratesGlobals.getPirateBoldOutlineFont(),
                    None), ('text_fg', (1, 1, 1, 1), None),
                   ('text_shadow', PiratesGuiGlobals.TextShadow,
                    None), ('textMayChange', 1, None), ('text_scale',
                                                        textScale, None))
     self.defineoptions({}, optiondefs)
     DirectFrame.__init__(self, parent=NodePath())
     InventoryRequestBase.InventoryRequestBase.__init__(self)
     self.initialiseoptions(InventoryUIItem)
     self.itemTuple = itemTuple
     self.cell = None
     self.hotlink = None
     self.manager = manager
     self.textScale = 1.0
     self.imageScale = 1.0 * imageScaleFactor
     self.textOffset = -0.5
     self.itemType = ITEM_NORMAL
     self.iconColor = (1, 1, 1, 1)
     self.showResaleValue = True
 def __init__(self, **kw):
     self.sizeX = 0.8
     self.sizeZ = 0.9
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None),
                   ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX,
                                  -0.0 * self.sizeZ, 1.0 * self.sizeZ),
                    None), ('text', PLocalizer.BodyShapeUpdate,
                            None), ('text_align', TextNode.ACenter, None),
                   ('text_font', PiratesGlobals.getPirateBoldOutlineFont(),
                    None), ('text_fg', (1, 1, 1, 1), None),
                   ('text_shadow', PiratesGuiGlobals.TextShadow,
                    None), ('textMayChange', 1, None), ('text_scale',
                                                        textScale, None),
                   ('text_pos', (self.sizeX * 0.5,
                                 self.sizeZ * 0.95 - textScale), None))
     self.defineoptions(kw, optiondefs)
     BorderFrame.__init__(self)
     self.initialiseoptions(BodyShapeChanger)
     self.setPos(base.a2dRight - self.sizeX, 0, 0)
     self.confirmDialog = None
     self.isSetup = 0
     self.doingRegen = 0
     self.acceptOnce('localAV-enterHalt', self.setup)
     localAvatar.gameFSM.request('Halt')
     if not self.isSetup:
         self.destroy()
     return
示例#6
0
    def setupHotkeys(self,
                     hotkeys,
                     hotkeyLabel,
                     command,
                     extraArgs,
                     hotkeyLabelX=0.091999999999999998,
                     hotkeyArgs=True):
        if self.hotkeys:
            self.ignoreHotkeys()
            self.hotkeyLabel.destroy()

        self.hotkeys = hotkeys
        self.command = command
        self.extraArgs = extraArgs
        self.hotkeyLabel = hotkeyLabel
        self.hotkeyLabelX = hotkeyLabelX
        self.hotkeyArgs = hotkeyArgs
        if self.hotkeys:
            self.hotkeyLabel = DirectLabel(
                parent=self,
                relief=None,
                state=DGG.DISABLED,
                text=hotkeyLabel,
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_scale=PiratesGuiGlobals.TextScaleMed,
                text_pos=(hotkeyLabelX, 0.01),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                textMayChange=1)
            self.acceptHotkeys()
 def __init__(self,
              manager,
              sizeX=1.0,
              sizeZ=1.0,
              countX=4,
              countZ=4,
              slotList=None):
     InventoryUISlotContainer.InventoryUISlotContainer.__init__(
         self, manager, sizeX, sizeZ, countX, countZ, slotList)
     self.initialiseoptions(InventoryUIClothingContainer)
     self.rightClickAction = {
         InventoryType.ItemTypeClothing:
         (None, Locations.CLOTHING_TYPE_TO_RANGE, 1)
     }
     self.overflowInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.OverflowHint,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.04,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0))
     self.overflowInfo.setPos(0.25, 0, 1.07)
     self.overflowInfo.hide()
     base.clothPage = self
     self.accept('overflowChanged', self.handleOverflow)
     return
示例#8
0
 def __init__(self,
              manager,
              sizeX=1.0,
              sizeZ=1.0,
              countX=4,
              countZ=4,
              slotList=None):
     InventoryUISlotContainer.InventoryUISlotContainer.__init__(
         self, manager, sizeX, sizeZ, countX, countZ, slotList)
     self.initialiseoptions(InventoryUIConsumableContainerLocatable)
     self.invReq = None
     self.overflowInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.OverflowHint,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.040000000000000001,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0))
     self.overflowInfo.setPos(0.41999999999999998, 0, 1.0600000000000001)
     self.overflowInfo.hide()
     self.accept('overflowChanged', self.handleOverflow)
示例#9
0
    def setupHotkeys(
        self, hotkeys, hotkeyLabel, command, extraArgs, hotkeyLabelX=0.091999999999999998, hotkeyArgs=True
    ):
        if self.hotkeys:
            self.ignoreHotkeys()
            self.hotkeyLabel.destroy()

        self.hotkeys = hotkeys
        self.command = command
        self.extraArgs = extraArgs
        self.hotkeyLabel = hotkeyLabel
        self.hotkeyLabelX = hotkeyLabelX
        self.hotkeyArgs = hotkeyArgs
        if self.hotkeys:
            self.hotkeyLabel = DirectLabel(
                parent=self,
                relief=None,
                state=DGG.DISABLED,
                text=hotkeyLabel,
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_scale=PiratesGuiGlobals.TextScaleMed,
                text_pos=(hotkeyLabelX, 0.01),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                textMayChange=1,
            )
            if base.config.GetBool("want-hotkeys", False):
                self.acceptHotkeys()
示例#10
0
    def loadGeometry(self):
        if not self.pieces:
            modelGeom = loader.loadModel('models/gui/' + self['modelName'])
            self.pieces = dict(
                zip(self.pieceNames, [
                    modelGeom.find('**/%s' % self.nodeNames[pieceName])
                    for pieceName in self.pieceNames
                ]))
            self.nameTag = modelGeom.find('**/nameTag')
            for k in ('top', 'right', 'bottom', 'left'):
                tex = self.pieces[k].findTexture(TextureStage.getDefault())
                if tex:
                    tex.setWrapU(Texture.WMRepeat)
                    tex.setWrapV(Texture.WMRepeat)

            tex = self.pieces['background'].findTexture(
                TextureStage.getDefault())
            if tex:
                tex.setWrapU(Texture.WMMirror)
                tex.setWrapV(Texture.WMMirror)
            if (self['nameTag'] and self).nameTag:
                from pirates.piratesbase import PiratesGlobals
                self.nameTagLabel = DirectLabel(
                    parent=self.nameTag,
                    relief=None,
                    pos=(0, 0, 0.05),
                    text=self['nameTag'],
                    text_scale=0.2,
                    text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                    text_fg=(1, 1, 1, 1),
                    text_shadow=PiratesGuiGlobals.TextShadow,
                    text_align=TextNode.ACenter,
                    textMayChange=1)
        return
示例#11
0
 def setup(self):
     self.setBin('gui-popup', 100)
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'),
                    Gui.find('**/generic_button_down'),
                    Gui.find('**/generic_button_over'),
                    Gui.find('**/generic_button_disabled'))
     textScale = PiratesGuiGlobals.TextScaleLarge
     self.messageLabel = DirectLabel(
         parent=self,
         relief=None,
         text=self.warningText,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ALeft,
         text_scale=textScale,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_wordwrap=self.sizeX * 0.90000000000000002 / textScale,
         text_pos=(self.sizeX * -0.42499999999999999, 0.066000000000000003),
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.5))
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.cancelButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.28000000000000003, 1.0, 0.22),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=PLocalizer.ChatWarningClose,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0, 0.10000000000000001),
         command=self.requestClose)
示例#12
0
 def __init__(self, manager, sizeX=1.0, sizeZ=1.0, countX=1, countZ=1, hotkeyList=[]):
     InventoryUIContainer.InventoryUIContainer.__init__(
         self, manager, sizeX, sizeZ, countX, countZ, cellInfo=hotkeyList
     )
     self.containerType = CONTAINER_BELT
     gui = loader.loadModel("models/gui/gui_icons_weapon")
     self.cellImage = gui.find("**/pir_t_gui_frm_inventoryBox")
     self.initialiseoptions(InventoryUIBeltGrid)
     self.rightClickAction = {
         InventoryType.ItemTypeWeapon: (Locations.RANGE_WEAPONS, None, 0),
         InventoryType.ItemTypeCharm: (Locations.RANGE_WEAPONS, None, 1),
     }
     self.freeWeaponInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.FreeWeaponFromBlackSmith,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.040000000000000001,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0),
     )
     self.freeWeaponInfo.setPos(0.34999999999999998, 0, -0.10000000000000001)
     self.freeWeaponInfo.show()
     self.overflowInfo = DirectLabel(
         parent=self,
         relief=None,
         textMayChange=0,
         text=PLocalizer.OverflowHint,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_scale=0.040000000000000001,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0, 0),
     )
     self.overflowInfo.setPos(0.34999999999999998, 0, -0.10000000000000001)
     self.overflowInfo.hide()
     self.accept("overflowChanged", self.handleOverflow)
     self.accept("newItemHeld", self.handleNewHeldItem)
     self.accept("checkForWeapons", self.checkforNoWeapons)
示例#13
0
 def setupExtraButtons(self):
     weaponIcons = loader.loadModel('models/gui/gui_icons_weapon')
     self.helpButton = DirectButton(
         parent=base.a2dBottomRight,
         relief=None,
         pos=(-0.59999999999999998, 0, 0.089999999999999997),
         scale=0.5,
         text='?',
         text_pos=(0, -0.055),
         text_scale=0.20999999999999999,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         sortOrder=2,
         command=self.toggleHelpUI)
     DirectLabel(parent=self.helpButton,
                 text=PLocalizer.CannonDefense['Help'],
                 text_pos=(0, -0.14999999999999999),
                 text_scale=0.080000000000000002,
                 text_fg=PiratesGuiGlobals.TextFG2,
                 text_shadow=PiratesGuiGlobals.TextShadow,
                 text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                 frameColor=(1, 1, 1, 0))
示例#14
0
 def doSetup(self):
     self.setupCells()
     self.titleLabel = DirectLabel(
         relief=None,
         parent=self,
         textMayChange=1,
         text=self.titleText,
         text_fg=(1, 1, 1, 1),
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_scale=self.textScale,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0.0, 0.0))
     self.titleLabel.setPos(self.sizeX * 0.5, 0.0,
                            self.sizeZ + self.textScale * 0.5)
 def makeCellLabel(self, cell):
     if cell.label.isEmpty():
         cellLabel = DirectLabel(
             parent=cell,
             textMayChange=1,
             text="",
             text_font=PiratesGlobals.getPirateBoldOutlineFont(),
             text_fg=PiratesGuiGlobals.TextFG2,
             text_scale=textScale,
             text_align=TextNode.ARight,
             text_shadow=PiratesGuiGlobals.TextShadow,
             text_pos=(0.45000000000000001 * self.cellSizeX - 0, 0.45000000000000001 * self.cellSizeZ - textScale),
         )
         cell.label = cellLabel
         cell.label["text"] = cell.labelText
示例#16
0
 def makeCellLabel(self, cell):
     if cell.label.isEmpty():
         cellLabel = DirectLabel(
             parent=cell,
             textMayChange=1,
             text='',
             text_font=PiratesGlobals.getPirateBoldOutlineFont(),
             text_fg=PiratesGuiGlobals.TextFG2,
             text_scale=textScale,
             text_align=TextNode.ARight,
             text_shadow=PiratesGuiGlobals.TextShadow,
             text_pos=(0.45000000000000001 * self.cellSizeX - 0,
                       0.45000000000000001 * self.cellSizeZ - textScale))
         cell.label = cellLabel
         cell.label['text'] = cell.labelText
 def doSetup(self):
     self.setupCells()
     self.titleLabel = DirectLabel(
         relief=None,
         parent=self,
         textMayChange=1,
         text=self.titleText,
         text_fg=(1, 1, 1, 1),
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_scale=self.textScale,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_pos=(0.0, 0.0),
     )
     self.titleLabel.setPos(self.sizeX * 0.5, 0.0, self.sizeZ + self.textScale * 0.5)
示例#18
0
 def createHotkey(self, hotkey):
     self.hotkeyLabel = DirectLabel(
         parent=self,
         relief=None,
         text=hotkey,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ARight,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         textMayChange=0,
         pos=(0.070000000000000007, 0, -0.059999999999999998),
         sortOrder=70,
         state=DGG.DISABLED)
     self.hotkeyLabel.flattenLight()
示例#19
0
    def updateQuantity(self, quantity):
        self.quantity = quantity
        if not self.showQuantity:
            return
        if quantity == WeaponGlobals.INF_QUANT:
            text = ''
        else:
            if self.assocAmmo:
                assocQuantity = 0
                inv = localAvatar.getInventory()
                if inv:
                    for ammoId in self.assocAmmo:
                        assocQuantity += inv.getItemQuantity(
                            self.getAmmoCat(), ammoId)

                if quantity != assocQuantity:
                    text = '%s' % assocQuantity
                else:
                    text = 'x%s' % quantity
            else:
                text = 'x%s' % quantity
        if self.quantityLabel:
            self.quantityLabel['text'] = not self.quantityLabel.isEmpty(
            ) and text
        else:
            self.quantityLabel = DirectLabel(
                parent=NodePath(),
                relief=None,
                state=DGG.DISABLED,
                text=text,
                frameColor=(0, 0, 0, 1),
                frameSize=(-0.01, 0.02, -0.01, 0.025),
                text_scale=PiratesGuiGlobals.TextScaleLarge,
                text_align=TextNode.ACenter,
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                text_wordwrap=11,
                pos=(0.03, 0.0, 0.03),
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                sortOrder=60)
            self.quantityLabel.flattenLight()
            self.quantityLabel.reparentTo(self)
            if self.skillButton and not self.skillButton.isEmpty():
                self.quantityLabel.reparentTo(self.skillButton)
        return
示例#20
0
 def attachQuantity(self, quantity):
     if self.quantity:
         self.quantity['text'] = 'x%s' % quantity
     else:
         self.quantity = DirectLabel(
             parent=self,
             relief=None,
             state=DGG.DISABLED,
             text='x%s' % quantity,
             frameColor=(0, 0, 0, 1),
             frameSize=(-0.01, 0.02, -0.01, 0.025000000000000001),
             text_scale=0.0275,
             text_align=TextNode.ACenter,
             text_fg=PiratesGuiGlobals.TextFG2,
             text_shadow=PiratesGuiGlobals.TextShadow,
             text_wordwrap=11,
             pos=(0.029999999999999999, 0.0, 0.029999999999999999),
             text_font=PiratesGlobals.getPirateBoldOutlineFont())
 def initializeNametag3d(self):
     Avatar.Avatar.initializeNametag3d(self)
     self.nametag3d.setFogOff()
     self.nametag3d.setLightOff()
     self.nametag3d.setColorScaleOff(100)
     self.nametag3d.setH(self.getGeomNode().getH())
     self.nametag.setFont(PiratesGlobals.getPirateBoldOutlineFont())
     self.iconNodePath = self.nametag.getNameIcon()
     if self.iconNodePath.isEmpty():
         self.notify.warning('empty iconNodePath in initializeNametag3d')
         return False
     if not self.nameText:
         self.nameText = OnscreenText(fg = Vec4(1, 1, 1, 1), bg = Vec4(0, 0, 0, 0), scale = 1.1000000000000001, align = TextNode.ACenter, mayChange = 1, font = PiratesGlobals.getPirateBoldOutlineFont())
         self.nameText.reparentTo(self.iconNodePath)
         self.nameText.setTransparency(TransparencyAttrib.MDual, 2)
         self.nameText.setColorScaleOff(100)
         self.nameText.setLightOff()
         self.nameText.setFogOff()
示例#22
0
 def __init__(self,
              hotkeys=(),
              hotkeyLabel=None,
              helpText=PLocalizer.AnchorButtonHelp,
              parent=None,
              **kw):
     card = loader.loadModel('models/textureCards/icons')
     iconTexture = card.find('**/icon_anchor')
     card = loader.loadModel('models/textureCards/skillIcons')
     base1 = card.find('**/base')
     base2 = card.find('**/base_over')
     base3 = card.find('**/base_down')
     seq = NodePath(SequenceNode(''))
     base2.copyTo(seq)
     base1.copyTo(seq)
     base1.copyTo(seq)
     base1.copyTo(seq)
     seq.node().setFrameRate(1.5)
     seq.node().loop(True)
     optiondefs = (('image', (seq, base3, base2),
                    None), ('image_scale', 0.19500000000000001,
                            None), ('geom', iconTexture, None),
                   ('geom_scale', 0.14999999999999999,
                    None), ('sortOrder', 1, None), ('relief', None, None))
     self.defineoptions(kw, optiondefs)
     BlinkButton.BlinkButton.__init__(self,
                                      hotkeys=hotkeys,
                                      hotkeyLabel=hotkeyLabel,
                                      helpText=helpText,
                                      helpPos=(0.050000000000000003, 0,
                                               -0.10000000000000001),
                                      parent=parent)
     self.initialiseoptions(AnchorButton)
     self.infoText = DirectFrame(
         parent=self,
         relief=None,
         text=PLocalizer.AnchorButtonInfo,
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         textMayChange=1,
         pos=(0, 0, 0.105))
示例#23
0
    def setupLayers(self):
        if hasattr(self, 'border'):
            self.border.destroy()
            self.sideTentacle.removeNode()
            self.background.removeNode()
            self.backTabParent.removeNode()
            self.frontTabParent.removeNode()
            self.b.removeNode()

        gui = loader.loadModel('models/gui/gui_sea_chest')
        scale = 0.32000000000000001
        self.sideTentacle = self.attachNewNode('sideTentacle')
        self.sideTentacle.setScale(scale)
        gui.find('**/side_tentacle').copyTo(self.sideTentacle)
        self.sideTentacle.flattenStrong()
        self.sideTentacle.show()
        self.backTabParent = self.attachNewNode('backTabs')
        self.background = self.attachNewNode('background')
        self.background.setScale(scale)
        gui.find('**/background').copyTo(self.background)
        self.background.flattenStrong()
        border = self.attachNewNode('border', sort=1)
        geom = gui.find('**/border').copyTo(border)
        geom.flattenStrong()
        geom.setScale(scale)
        self.frontTabParent = self.attachNewNode('frontTab', sort=2)
        mainGui = loader.loadModel('models/gui/gui_main')
        self.titleLabel = DirectFrame(
            relief=None,
            parent=self,
            textMayChange=1,
            image=mainGui.find('**/title_bar_08'),
            image_scale=0.20000000000000001,
            image_pos=(0, 0, -0.315),
            text=PLocalizer.InventoryPageTitle,
            text_fg=(1, 1, 1, 1),
            text_font=PiratesGlobals.getPirateBoldOutlineFont(),
            text_scale=0.070000000000000007,
            text_align=TextNode.ACenter,
            text_shadow=PiratesGuiGlobals.TextShadow,
            text_pos=(0.0, 0.0),
            pos=(0, 0, 0.66000000000000003))
        self.titleLabel.setBin('gui-fixed', 1)
 def __init__(self, cell, manager):
     self.sizeX = 0.80000000000000004
     self.sizeZ = 0.59999999999999998
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None),
                   ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX,
                                  -0.0 * self.sizeZ, 1.0 * self.sizeZ),
                    None), ('text', PLocalizer.InventorySplitterTitle,
                            None), ('text_align', TextNode.ACenter, None),
                   ('text_font', PiratesGlobals.getPirateBoldOutlineFont(),
                    None), ('text_fg', (1, 1, 1, 1), None),
                   ('text_shadow', PiratesGuiGlobals.TextShadow,
                    None), ('textMayChange', 1, None), ('text_scale',
                                                        textScale, None),
                   ('text_pos', (self.sizeX * 0.5, self.sizeZ - textScale),
                    None))
     self.defineoptions({}, optiondefs)
     BorderFrame.__init__(self, parent=NodePath())
     self.initialiseoptions(InventoryStackSplitter)
     self.fromCell = cell
     self.manager = manager
     self.setup()
示例#25
0
 def __init__(self, badText='Error'):
     self.sizeX = 0.80000000000000004
     self.sizeZ = 0.59999999999999998
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None),
                   ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX,
                                  -0.0 * self.sizeZ, 1.0 * self.sizeZ),
                    None), ('text', PLocalizer.ChatWarningTitle,
                            None), ('text_align', TextNode.ACenter, None),
                   ('text_font', PiratesGlobals.getPirateBoldOutlineFont(),
                    None), ('text_fg', (1, 1, 1, 1), None),
                   ('text_shadow', PiratesGuiGlobals.TextShadow,
                    None), ('textMayChange', 1, None), ('text_scale',
                                                        textScale, None),
                   ('text_pos', (self.sizeX * 0.5,
                                 self.sizeZ - textScale * 1.5), None))
     self.defineoptions({}, optiondefs)
     BorderFrame.__init__(self, parent=NodePath())
     self.initialiseoptions(ChatWarningBox)
     self.setX(self.sizeX * -0.5)
     self.badText = badText
     self.warningText = badText
     self.setup()
 def __init__(self, cell, parent):
     self.sizeX = 0.64
     self.sizeZ = 0.64
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     frameSize = (-0.0 * self.sizeX, 1.0 * self.sizeX, -0.0 * self.sizeZ,
                  1.0 * self.sizeZ)
     modelName = 'pir_m_gui_frm_subframe'
     imageColorScale = VBase4(0.75, 0.75, 0.9, 1.0)
     optiondefs = (('state', DGG.DISABLED, None), ('frameSize', frameSize,
                                                   None),
                   ('modelName', modelName, None), ('imageColorScale',
                                                    imageColorScale, None))
     self.defineoptions({}, optiondefs)
     BorderFrame.__init__(self, parent=NodePath())
     self.initialiseoptions(InventoryStackSeller)
     self.doubleFrame = BorderFrame(parent=self,
                                    frameSize=frameSize,
                                    modelName=modelName,
                                    imageColorScale=imageColorScale)
     self.tripleFrame = BorderFrame(
         parent=self,
         frameSize=frameSize,
         modelName=modelName,
         imageColorScale=imageColorScale,
         text=PLocalizer.InventorySplitterTitle,
         text_align=TextNode.ACenter,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_fg=VBase4(1, 1, 1, 1),
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_scale=textScale,
         text_pos=(self.sizeX * 0.5, self.sizeZ * 0.95 - textScale))
     self.fromCell = cell
     self.parent = parent
     self.amount = self.fromCell.inventoryItem.getAmount()
     self.setup()
     return
 def initIndicatorIcons(self):
     self.textureCard = loader.loadModel(
         'models/textureCards/pir_m_gam_can_ship_icons')
     if self.textureCard:
         self.goldIcon = self.textureCard.find('**/pir_t_shp_can_gold*')
     self.goldStolenlbl = DirectLabel(
         parent=self.healthBar,
         relief=None,
         pos=(0, 0, 0.2),
         text_align=TextNode.ACenter,
         text_scale=0.5,
         textMayChange=0,
         text='!',
         text_fg=PiratesGuiGlobals.TextFG23,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         sortOrder=2)
     self.goldStolenlbl.setTransparency(1)
     self.goldStolenlbl.hide()
     self.hasGoldlbl = DirectLabel(parent=self.healthBar,
                                   relief=None,
                                   pos=(0, 0, 0.35),
                                   image=self.goldIcon,
                                   image_scale=0.5,
                                   image_pos=(0, 0, 0),
                                   sortOrder=2)
     self.hasGoldlbl.setTransparency(1)
     self.hasGoldlbl.hide()
     self.hasBNote = self.healthBar.attachNewNode('noteIndicator')
     self.bnoteBack = loader.loadModel(
         'models/textureCards/skillIcons').find(
             '**/pir_t_gui_can_moneyIcon').copyTo(self.hasBNote)
     self.hasBNote.setZ(0.35)
     self.hasBNote.setScale(0.6)
     self.hasBNote.hide()
     return
 def __init__(self, manager, sizeX = 1.0, sizeZ = 1.0, countX = 4, countZ = 4, slotList = None):
     InventoryUISlotContainer.InventoryUISlotContainer.__init__(self, manager, sizeX, sizeZ, countX, countZ, slotList)
     self.initialiseoptions(InventoryUIConsumableContainerLocatable)
     self.invReq = None
     self.overflowInfo = DirectLabel(parent = self, relief = None, textMayChange = 0, text = PLocalizer.OverflowHint, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_fg = PiratesGuiGlobals.TextFG2, text_scale = 0.040000000000000001, text_align = TextNode.ACenter, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0, 0))
     self.overflowInfo.setPos(0.41999999999999998, 0, 1.0600000000000001)
     self.overflowInfo.hide()
     self.accept('overflowChanged', self.handleOverflow)
 def __init__(self, badText = 'Error'):
     self.sizeX = 0.80000000000000004
     self.sizeZ = 0.59999999999999998
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None), ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX, -0.0 * self.sizeZ, 1.0 * self.sizeZ), None), ('text', PLocalizer.ChatWarningTitle, None), ('text_align', TextNode.ACenter, None), ('text_font', PiratesGlobals.getPirateBoldOutlineFont(), None), ('text_fg', (1, 1, 1, 1), None), ('text_shadow', PiratesGuiGlobals.TextShadow, None), ('textMayChange', 1, None), ('text_scale', textScale, None), ('text_pos', (self.sizeX * 0.5, self.sizeZ - textScale * 1.5), None))
     self.defineoptions({ }, optiondefs)
     BorderFrame.__init__(self, parent = NodePath())
     self.initialiseoptions(ChatWarningBox)
     self.setX(self.sizeX * -0.5)
     self.badText = badText
     self.warningText = badText
     self.setup()
 def setup(self):
     self.setBin('gui-fixed', 0)
     self.buttonSize = self.manager.standardButtonSize
     self.inventoryPanelSell = InventoryUISellContainer.InventoryUISellContainer(
         self.manager,
         self.sellItem,
         sizeX=self.buttonSize * 3,
         sizeZ=self.buttonSize * 2,
         countX=3,
         countZ=2)
     self.inventoryPanelSell.setup()
     self.inventoryPanelSell.setPos(self.sizeX / 4.0 - 0.01, 0.0,
                                    self.sizeZ / 4.0 + 0.089999999999999997)
     self.inventoryPanelSell.reparentTo(self)
     self.messageLabel = DirectLabel(
         parent=self,
         relief=None,
         text=PLocalizer.InventorySellMessage,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_wordwrap=16,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.84999999999999998))
     self.goldCostLabel = DirectLabel(
         parent=self,
         relief=None,
         text=PLocalizer.InventorySellGoldCost % 0,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.25))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'),
                    Gui.find('**/generic_button_down'),
                    Gui.find('**/generic_button_over'),
                    Gui.find('**/generic_button_disabled'))
     self.confirmButton = GuiButton.GuiButton(
         parent=self,
         text=PLocalizer.InventorySell,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_pos=(0.0, -0.014),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         image=GuiButton.GuiButton.blueGenericButton,
         image_scale=(0.59999999999999998, 0.59999999999999998,
                      0.59999999999999998),
         pos=(self.sizeX * 0.5, 0, 0.12),
         relief=None,
         command=self.confirmSale)
     self.confirmButton['state'] = DGG.DISABLED
     self.stackSeller = None
     main_gui = loader.loadModel('models/gui/gui_main')
     generic_x = main_gui.find('**/x2')
     generic_box = main_gui.find('**/exit_button')
     generic_box_over = main_gui.find('**/exit_button_over')
     main_gui.removeNode()
     closeButton = GuiButton.GuiButton(parent=self,
                                       relief=None,
                                       pos=(1.0, 0, -0.01),
                                       image=(generic_box, generic_box,
                                              generic_box_over,
                                              generic_box),
                                       image_scale=0.40000000000000002,
                                       command=self.callback)
     xButton = OnscreenImage(parent=closeButton,
                             image=generic_x,
                             scale=0.20000000000000001,
                             pos=(-0.25600000000000001, 0,
                                  0.76600000000000001))
     localAvatar.disableLootUI()
 def attachQuantity(self, quantity):
     if self.quantity:
         self.quantity['text'] = 'x%s' % quantity
     else:
         self.quantity = DirectLabel(parent = self, relief = None, state = DGG.DISABLED, text = 'x%s' % quantity, frameColor = (0, 0, 0, 1), frameSize = (-0.01, 0.02, -0.01, 0.025000000000000001), text_scale = 0.0275, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_wordwrap = 11, pos = (0.029999999999999999, 0.0, 0.029999999999999999), text_font = PiratesGlobals.getPirateBoldOutlineFont())
 def setup(self):
     self.setBin('gui-fixed', 1)
     self.itemLabel = DirectLabel(parent = self, relief = None, text = '%s' % self.fromCell.inventoryItem.getName(), text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, image = self.fromCell.inventoryItem['image'], image_scale = self.fromCell.inventoryItem['image_scale'], text_pos = (0.0, 0.066000000000000003), pos = (self.sizeX * 0.5, 0.0, self.sizeZ * 0.59999999999999998))
     self.amountEntry = DirectEntry(parent = self, relief = DGG.GROOVE, scale = PiratesGuiGlobals.TextScaleExtraLarge, initialText = '%s' % self.amount, width = 1.5, numLines = 1, focus = 1, cursorKeys = 1, frameColor = (1.0, 1.0, 1.0, 0.20000000000000001), entryFont = PiratesGlobals.getPirateBoldOutlineFont(), text_fg = (1.0, 1.0, 1.0, 1.0), pos = (self.sizeX * 0.32500000000000001, 0.0, self.sizeZ * 0.35499999999999998), suppressKeys = 1, suppressMouse = 1, autoCapitalize = 0, command = self.selectStackAmount)
     self.amountLabel = DirectLabel(parent = self, relief = None, text = PLocalizer.InventorySellAmount % self.amount, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleExtraLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0.0, 0.066000000000000003), pos = (self.sizeX * 0.55000000000000004, 0.0, self.sizeZ * 0.25))
     self.confirmButton = GuiButton.GuiButton(parent = self, text = PLocalizer.lOk, text_fg = PiratesGuiGlobals.TextFG2, text_pos = (0.0, -0.014), text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_shadow = PiratesGuiGlobals.TextShadow, image = GuiButton.GuiButton.blueGenericButton, image_scale = (0.59999999999999998, 0.59999999999999998, 0.59999999999999998), pos = (self.sizeX * 0.25, 0, 0.10000000000000001), relief = None, command = self.selectStackAmount)
     self.cancelButton = GuiButton.GuiButton(parent = self, text = PLocalizer.lCancel, text_fg = PiratesGuiGlobals.TextFG2, text_pos = (0.0, -0.014), text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_shadow = PiratesGuiGlobals.TextShadow, image = GuiButton.GuiButton.blueGenericButton, image_scale = (0.59999999999999998, 0.59999999999999998, 0.59999999999999998), pos = (self.sizeX * 0.75, 0, 0.10000000000000001), relief = None, command = self.cancelItem)
示例#33
0
 def __init__(self, parent, parentMgr, pos = None, sortOrder = 0):
     GuiTray.GuiTray.__init__(self, parent, 0.59999999999999998, 0.12)
     self.initialiseoptions(ChestTray)
     self.setBin('gui-fixed', 0)
     self.state = 0
     self.buttonsParent = self.attachNewNode(PandaNode('ChestTray.buttonsParent'), sortOrder)
     self.stickyButtonsParent = self.attachNewNode(PandaNode('ChestTray.stickyButtonsParent'), sortOrder)
     self.stickyButtonsParent.setPos(0, 0, 0.02)
     self.buttons = { }
     self.buildShowHideButtonsIvals()
     self.openSfx = loadSfx(SoundGlobals.SFX_GUI_OPEN_SEACHEST)
     self.openSfx.setVolume(0.40000000000000002)
     self.closeSfx = loadSfx(SoundGlobals.SFX_GUI_CLOSE_SEACHEST)
     self.closeSfx.setVolume(0.40000000000000002)
     gui = loader.loadModel('models/gui/toplevel_gui')
     gui_main = loader.loadModel('models/gui/gui_main')
     helpPos = (-0.26000000000000001, 0, 0.059999999999999998)
     helpDelay = 0
     self.buttonImage = gui.find('**/topgui_icon_box')
     self.buttonImageIn = gui.find('**/topgui_icon_box_in')
     self.buttonColors = (VBase4(0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 1), VBase4(0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 1), VBase4(1.0, 1.0, 1.0, 1), VBase4(0.59999999999999998, 0.59999999999999998, 0.59999999999999998, 1))
     self.currentButtonIn = None
     self.highlightButtons = [
         'guiMgrToggleMap',
         'guiMgrToggleWeapons',
         'guiMgrToggleQuest',
         'guiMgrToggleLevels',
         'guiMgrToggleShips',
         'guiMgrToggleTreasures',
         'guiMgrToggleLookout',
         'guiMgrToggleInventory',
         'guiMgrToggleTitles']
     buttonOptions = {
         'image': self.buttonImage,
         'geom': None,
         'relief': None,
         'frameSize': (0, 0.12, 0, 0.12),
         'image_scale': 0.46999999999999997,
         'image_pos': (0.059999999999999998, 0, 0.059999999999999998),
         'image0_color': self.buttonColors[0],
         'image1_color': self.buttonColors[1],
         'image2_color': self.buttonColors[2],
         'image3_color': self.buttonColors[3],
         'geom_scale': 0.12,
         'geom_pos': (0.059999999999999998, 0, 0.059999999999999998),
         'command': self.togglePanel }
     extraHeight = 0
     if self.WantTitlesPage:
         extraHeight = 0.12
     
     buttonOptions['geom'] = gui.find('**/friend_button_over')
     buttonOptions['geom_scale'] = 0.12
     self.socialButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'f',
         'shift-f'], hotkeyLabel = 'F', helpText = PLocalizer.SocialButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleSocial'], pos = (0.01, 0, 1.1599999999999999 + extraHeight))
     self.buttons['guiMgrToggleSocial'] = self.socialButton
     buttonOptions['geom'] = gui.find('**/compass_small_button_open_over')
     buttonOptions['geom_scale'] = 0.089999999999999997
     self.radarButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'c',
         'shift-c'], hotkeyLabel = 'C', helpText = PLocalizer.RadarButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleRadar'], pos = (0.01, 0, 1.04 + extraHeight))
     self.buttons['guiMgrToggleRadar'] = self.radarButton
     buttonPosZ = 0.88
     buttonHeight = 0.12
     if self.WantTitlesPage:
         buttonPosZ += buttonHeight
     
     buttonOptions['geom'] = gui_main.find('**/world_map_icon')
     buttonOptions['geom_scale'] = 0.095000000000000001
     self.mapButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'm',
         'shift-m'], hotkeyLabel = 'M', helpText = PLocalizer.MapButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleMap'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleMap'] = self.mapButton
     buttonPosZ -= buttonHeight
     self.highlightButton('guiMgrToggleMap')
     buttonOptions['geom'] = (gui.find('**/treasure_chest_closed_over'),)
     buttonOptions['geom_scale'] = 0.12
     self.bagButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'i',
         'shift-i'], hotkeyLabel = 'I', helpText = PLocalizer.SocialButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleInventory'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleInventory'] = self.bagButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_weapons')
     buttonOptions['geom_scale'] = 0.17999999999999999
     self.weaponButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'y',
         'shift-y'], hotkeyLabel = 'Y', helpText = PLocalizer.WeaponButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleWeapons'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleWeapons'] = self.weaponButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_skills')
     buttonOptions['geom_scale'] = 0.17999999999999999
     self.levelButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'k',
         'shift-k'], hotkeyLabel = 'K', helpText = PLocalizer.SkillButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleLevels'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleLevels'] = self.levelButton
     buttonPosZ -= buttonHeight
     if self.WantClothingPage:
         buttonOptions['geom'] = gui.find('**/topgui_icon_clothing')
         buttonOptions['geom_scale'] = 0.17000000000000001
         self.clothingButton = GuiButton(parent = self.buttonsParent, helpText = PLocalizer.ClothingButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
             'guiMgrToggleClothing'], pos = (0.01, 0, buttonPosZ))
         self.buttons['guiMgrToggleClothing'] = self.clothingButton
         buttonPosZ -= buttonHeight
     
     if self.WantTitlesPage:
         buttonOptions['geom'] = gui.find('**/topgui_infamy_frame')
         buttonOptions['geom_scale'] = 0.20000000000000001
         self.titlesButton = GuiButton(parent = self.buttonsParent, hotkeys = [
             'b',
             'shift-b'], hotkeyLabel = 'B', helpText = PLocalizer.TitlesButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
             'guiMgrToggleTitles'], pos = (0.01, 0, buttonPosZ))
         self.buttons['guiMgrToggleTitles'] = self.titlesButton
         buttonPosZ -= buttonHeight
     
     buttonOptions['geom'] = gui.find('**/topgui_icon_ship')
     buttonOptions['geom_scale'] = 0.20000000000000001
     self.shipsButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'h',
         'shift-h'], hotkeyLabel = 'H', helpText = PLocalizer.ShipsButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleShips'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleShips'] = self.shipsButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_journal')
     buttonOptions['geom_scale'] = 0.17999999999999999
     self.questButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'j',
         'shift-j'], hotkeyLabel = 'J', helpText = PLocalizer.QuestButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleQuest'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleQuest'] = self.questButton
     buttonPosZ -= buttonHeight
     self.lookoutButtonNormal = gui.find('**/telescope_button')
     self.lookoutButtonLight = gui.find('**/telescope_button_over')
     self.lookoutButtonSearch3o = gui.find('**/lookout_icon_over_03')
     buttonOptions['geom'] = None
     self.lookoutButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         'l',
         'shift-l'], hotkeyLabel = 'L', helpText = PLocalizer.LookoutButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleLookout'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleLookout'] = self.lookoutButton
     buttonPosZ -= buttonHeight
     self.lookoutButtonImage = OnscreenImage(parent = self.stickyButtonsParent, image = self.lookoutButtonLight, scale = 0.29999999999999999, pos = (0.065000000000000002, 0.0, 0.215))
     self.lookoutButtonImage.sourceImage = self.lookoutButtonLight
     buttonOptions['geom'] = gui.find('**/topgui_icon_main_menu')
     buttonOptions['geom_scale'] = 0.17999999999999999
     self.mainMenuButton = GuiButton(parent = self.buttonsParent, hotkeys = [
         PiratesGlobals.OptionsHotkey,
         'escape'], hotkeyLabel = 'F7', helpText = PLocalizer.QuestButtonHelp, helpPos = helpPos, helpDelay = helpDelay, extraArgs = [
         'guiMgrToggleMainMenu'], pos = (0.01, 0, buttonPosZ))
     self.buttons['guiMgrToggleMainMenu'] = self.mainMenuButton
     buttonPosZ -= buttonHeight
     self.chestButtonClosed = (gui.find('**/treasure_chest_closed'), gui.find('**/treasure_chest_closed'), gui.find('**/treasure_chest_closed_over'))
     self.chestButtonOpen = gui.find('**/treasure_chest_open_over')
     self.chestButton = GuiButton(command = self.toggle, parent = self, relief = None, image = self.chestButtonClosed, image_scale = 0.14999999999999999, image_pos = (0.050000000000000003, 0, 0.059999999999999998), scale = 1.2)
     self.chestHotkeyText = DirectLabel(parent = self.chestButton, relief = None, text = 'Tab', text_align = TextNode.ARight, text_scale = PiratesGuiGlobals.TextScaleSmall, text_pos = (0.11, 0.0), text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), textMayChange = 1)
     self.buttonsParent.hide()
     self.buttonsParent.setPos(0.20000000000000001, 0, 0.14000000000000001)
     self.stickyButtonsParent.hide()
     self.stickyButtonsParent.setPos(0.20000000000000001, 0, 0.14000000000000001)
     gui.removeNode()
 def loadGUI(self):
     shipcard = loader.loadModel('models/gui/ship_battle')
     self.nameBox = DirectFrame(parent = self, relief = None, pos = (0.058000000000000003, 0, -0.0064999999999999997), text = 'Ship Name', text_align = TextNode.ALeft, text_scale = 0.044999999999999998, text_pos = (0, -0.01), text_fg = PiratesGuiGlobals.TextFG1, text_wordwrap = 15, text_shadow = (0, 0, 0, 1), textMayChange = 1, text_font = PiratesGlobals.getInterfaceFont())
     tex = shipcard.find('**/ship_battle_speed_bar*')
     self.hpFrame = DirectFrame(parent = self, pos = (0.46500000000000002, 0, 0.14000000000000001), relief = None, image = tex, image_scale = (0.29999999999999999, 1, 0.59999999999999998))
     self.hpMeter = DirectWaitBar(parent = self.hpFrame, relief = DGG.RAISED, range = 100, value = 100, borderWidth = (0.002, 0.002), frameColor = (0, 0, 0, 1), barColor = (0.10000000000000001, 0.69999999999999996, 0.10000000000000001, 1), frameSize = (-0.27000000000000002, 0.13100000000000001, -0.01, 0.01), pos = (0.069000000000000006, 0, 0.0), text = PLocalizer.Hull, text_scale = PiratesGuiGlobals.TextScaleLarge * 0.75, text_align = TextNode.ALeft, text_pos = (0.16, -0.012), text_fg = PiratesGuiGlobals.TextFG1, text_shadow = (0, 0, 0, 1), text_font = PiratesGlobals.getInterfaceFont())
     self.hpMeterChange = DirectFrame(parent = self.hpFrame, relief = DGG.FLAT, borderWidth = (0.0040000000000000001, 0.0040000000000000001), frameColor = (1.0, 0.0, 0.0, 1.0), sortOrder = 0)
     self.hpMeterChange.setBin('gui-fixed', 0)
     self.hpMeterChange.hide()
     self.hpMeterDownIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.5, color = VBase4(0.69999999999999996, 0.10000000000000001, 0.10000000000000001, 1.0), blendType = 'easeOut'), LerpColorInterval(self.hpMeterChange, 0.25, color = VBase4(0.0, 0.0, 0.0, 1.0), blendType = 'easeOut'), Func(self.hpMeterChange.hide))
     self.hpMeterUpGreenIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(0.10000000000000001, 0.69999999999999996, 0.10000000000000001, 1.0)), Func(self.hpMeterChange.hide))
     self.hpMeterUpRedIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(1.0, 0.0, 0.0, 1.0)), Func(self.hpMeterChange.hide))
     self.hpMeterUpYellowIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(1.0, 1.0, 0.10000000000000001, 1.0)), Func(self.hpMeterChange.hide))
     self.spFrame = DirectFrame(parent = self, pos = (0.45500000000000002, 0, 0.115), relief = None, image = tex, image_scale = (0.29999999999999999, 1, 0.52000000000000002))
     speedArrow = loader.loadModel('models/gui/toplevel_gui').find('**/generic_arrow')
     self.speedMeter = DirectWaitBar(parent = self.spFrame, relief = DGG.RAISED, range = 100, value = 100, borderWidth = (0.002, 0.002), frameColor = (0, 0, 0, 1), barColor = (0.69999999999999996, 0.69999999999999996, 0.10000000000000001, 1), frameSize = (-0.27000000000000002, 0.13200000000000001, -0.0080000000000000002, 0.0080000000000000002), pos = (0.069000000000000006, 0, 0.0), text = PLocalizer.Speed, text_scale = PiratesGuiGlobals.TextScaleLarge * 0.75, text_align = TextNode.ALeft, text_pos = (0.16, -0.0080000000000000002), text_fg = PiratesGuiGlobals.TextFG1, text_shadow = (0, 0, 0, 1), text_font = PiratesGlobals.getInterfaceFont(), geom = speedArrow, geom_pos = (-0.25, 0, -0.01), geom_hpr = (0, 0, 90), geom_scale = (0.40000000000000002, 0.40000000000000002, 0.25))
     self.knotSpeed = DirectFrame(parent = self.spFrame, relief = None, state = DGG.DISABLED, pos = (-0.095000000000000001, 0, -0.055), text = PLocalizer.Knots % 0, text_align = TextNode.ACenter, text_scale = 0.040000000000000001, text_pos = (0.10000000000000001, -0.01), text_fg = PiratesGuiGlobals.TextFG1, text_wordwrap = 15, text_shadow = (0, 0, 0, 1), textMayChange = 1, text_font = PiratesGlobals.getInterfaceFont())
     circlecard = loader.loadModel('models/textureCards/skillIcons')
     base1 = circlecard.find('**/base')
     base2 = circlecard.find('**/base_over')
     base3 = circlecard.find('**/base_down')
     self.cargoMeter = GuiButton.GuiButton(parent = self, frameSize = (-0.045312499999999999, 0.045312499999999999, -0.045312499999999999, 0.045312499999999999), pos = (0.33000000000000002, 0, 0.20999999999999999), helpText = PLocalizer.CargoIconHelp, helpPos = (0.053999999999999999, 0, -0.10000000000000001), helpOpaque = 1, command = self.toggleCargo, image = (base1, base3, base2), image_scale = 0.10000000000000001, scale = 0.90000000000000002, relief = None)
     tex = loader.loadModel('models/gui/toplevel_gui').find('**/icon_crate')
     self.cargoLabel = DirectLabel(parent = self.cargoMeter, relief = None, state = DGG.DISABLED, image = tex, image_scale = 0.050000000000000003, image_color = (1, 1, 1, 0.80000000000000004), text = '0/0', text_scale = 0.044999999999999998, text_align = TextNode.ACenter, text_pos = (0.0044999999999999997, -0.025000000000000001), text_fg = PiratesGuiGlobals.TextFG1, text_shadow = (0, 0, 0, 1), text_font = PiratesGlobals.getInterfaceFont())
     self.crewMeter = GuiButton.GuiButton(parent = self, relief = None, frameSize = (-0.045312499999999999, 0.045312499999999999, -0.045312499999999999, 0.045312499999999999), pos = (0.46000000000000002, 0, 0.20999999999999999), helpText = PLocalizer.CrewIconHelp, helpPos = (-0.050000000000000003, 0, -0.10000000000000001), helpOpaque = 1, image = base1, image_scale = 0.10000000000000001, scale = 0.90000000000000002)
     icons = loader.loadModel('models/textureCards/icons')
     tex = icons.find('**/icon_stickman')
     self.crewLabel = DirectLabel(parent = self.crewMeter, relief = None, state = DGG.DISABLED, image = tex, image_scale = 0.080000000000000002, image_color = (1, 1, 1, 0.80000000000000004), text = '0/0', text_scale = 0.044999999999999998, text_align = TextNode.ACenter, text_pos = (0.0044999999999999997, -0.025000000000000001), text_fg = PiratesGuiGlobals.TextFG1, text_shadow = (0, 0, 0, 1), text_font = PiratesGlobals.getInterfaceFont())
     self.crewLabel.setTransparency(1, 1)
     gui = loader.loadModel('models/gui/avatar_chooser_rope')
     self.openPortLabel = DirectLabel(parent = base.a2dTopRight, relief = None, image = gui.find('**/avatar_c_A_middle'), image_scale = 0.29999999999999999, pos = (-0.23000000000000001, 0, -0.5), state = DGG.DISABLED, text = '', text_scale = 0.040000000000000001, text_align = TextNode.ACenter, text_pos = (0.0, -0.01), text_fg = PiratesGuiGlobals.TextFG2, text_shadow = (0, 0, 0, 1), text_font = PiratesGlobals.getPirateBoldOutlineFont())
     self.openPortLabel.hide()
     self.setupPermissionUI()
     self.statusEffectsPanel = StatusEffectsPanel.StatusEffectsPanel(parent = self, pos = (0.29999999999999999, 0, 0.29999999999999999))
     self.statusEffectsPanel.iconScale = 0.65000000000000002
     self.armorGui = ShipArmorGui(self, pos = (0.14999999999999999, 0.14999999999999999, 0.14999999999999999))
     self.threatFrame = DirectFrame(parent = self, pos = (0.14999999999999999, 0, 0.155), relief = None, image = None, image_scale = 0.13500000000000001)
     self.accept('LocalAvatar_Ship_ThreatLevel_Update', self.setThreatLevel)
     self.accept('LocalAvatar_Ship_OpenPort_Update', self.setOpenPort)
     self.accept('settingLocalShip', self.handleLocalShipSet)
     self.accept('settingLocalShipId', self.handleLocalShipSet)
     self.handleLocalShipSet(quiet = 1)
 def setup(self):
     self.setBin('gui-fixed', 1)
     self.itemLabel = DirectLabel(parent = self, relief = None, text = '%s' % self.fromCell.inventoryItem.getName(), text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, image = self.fromCell.inventoryItem['image'], image_scale = self.fromCell.inventoryItem['image_scale'], text_pos = (0.0, 0.066000000000000003), pos = (self.sizeX * 0.5, 0.0, self.sizeZ * 0.65000000000000002))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'), Gui.find('**/generic_button_down'), Gui.find('**/generic_button_over'), Gui.find('**/generic_button_disabled'))
     self.confirmButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.22, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventorySplitterConfirm, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.5, 0, 0.050000000000000003), command = self.manager.closeSplitter)
     self.allButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.13, 1.0, 0.17999999999999999), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventorySplitterAll, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.75, 0, self.sizeZ * 0.25), command = self.setAll)
     self.noneButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.13, 1.0, 0.17999999999999999), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventorySplitterNone, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.25, 0, self.sizeZ * 0.25), command = self.setNone)
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.closeButton = DirectButton(parent = self, relief = None, pos = (self.sizeX - 0.035000000000000003, 0, self.sizeZ - 0.035000000000000003), scale = 0.28000000000000003, geom = generic_x, image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.69999999999999996, text = '', textMayChange = 1, command = self.manager.closeSplitter)
     charGui = loader.loadModel('models/gui/char_gui')
     incImage = (charGui.find('**/chargui_forward'), charGui.find('**/chargui_forward_down'), charGui.find('**/chargui_forward_over'))
     decImage = (charGui.find('**/chargui_back'), charGui.find('**/chargui_back_down'), charGui.find('**/chargui_back_over'))
     amount = self.fromCell.inventoryItem.getAmount()
     self.slider = DirectSlider(parent = self, relief = None, command = self.updateSlider, image = charGui.find('**/chargui_slider_small'), image_scale = (2.1499999999999999, 2.1499999999999999, 1.5), thumb_relief = None, thumb_image = (charGui.find('**/chargui_slider_node'), charGui.find('**/chargui_slider_node_down'), charGui.find('**/chargui_slider_node_over')), pos = (self.sizeX * 0.5, 0.0, self.sizeZ * 0.38), text_align = TextNode.ACenter, text_scale = (0.10000000000000001, 0.10000000000000001), text_pos = (0.0, 0.10000000000000001), text_fg = PiratesGuiGlobals.TextFG1, scale = 0.38, pageSize = 1.0, scrollSize = 1.0, text = 'default', value = 0, range = (0, amount))
     self.incButton = DirectButton(parent = self, relief = None, pos = (self.sizeX * 0.55000000000000004, 0, self.sizeZ * 0.25), image = incImage, image_scale = 0.34999999999999998, text = '', textMayChange = 1)
     self.decButton = DirectButton(parent = self, relief = None, pos = (self.sizeX * 0.45000000000000001, 0, self.sizeZ * 0.25), image = decImage, image_scale = 0.34999999999999998, text = '', textMayChange = 1)
     self.slider.guiItem.setLeftButton(self.decButton.guiItem)
     self.slider.guiItem.setRightButton(self.incButton.guiItem)
 def __init__(self, cell, manager):
     self.sizeX = 0.80000000000000004
     self.sizeZ = 0.59999999999999998
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None), ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX, -0.0 * self.sizeZ, 1.0 * self.sizeZ), None), ('text', PLocalizer.InventorySplitterTitle, None), ('text_align', TextNode.ACenter, None), ('text_font', PiratesGlobals.getPirateBoldOutlineFont(), None), ('text_fg', (1, 1, 1, 1), None), ('text_shadow', PiratesGuiGlobals.TextShadow, None), ('textMayChange', 1, None), ('text_scale', textScale, None), ('text_pos', (self.sizeX * 0.5, self.sizeZ - textScale), None))
     self.defineoptions({ }, optiondefs)
     BorderFrame.__init__(self, parent = NodePath())
     self.initialiseoptions(InventoryStackSplitter)
     self.fromCell = cell
     self.manager = manager
     self.setup()
示例#37
0
 def __init__(self, name, stats, playerStats, ship):
     GuiPanel.GuiPanel.__init__(self, '', self.width, self.height, showClose = False)
     self.ship = ship
     self.stats = stats
     self.playerStats = playerStats
     self.plunderHeight = 1.6499999999999999
     self.initialiseoptions(HighSeasScoreboard)
     self.leftPanel = None
     self.rightPanel = None
     self.addedLootInfoText = 0
     self.autoPlundered = 0
     self.preAutoPlundered = 0
     self.displayedGold = 0
     titleTxt = PLocalizer.ScoreboardTitle
     if self.ship.shipClass == ShipGlobals.BLACK_PEARL:
         titleTxt = PLocalizer.BlackPearlScoreboard
     else:
         titleTxt = PLocalizer.LootScoreboard
     self.title = DirectLabel(parent = self, relief = None, text = titleTxt, text_align = TextNode.ALeft, text_scale = self.titleHeight, text_fg = PiratesGuiGlobals.TextFG10, text_shadow = PiratesGuiGlobals.TextShadow, pos = (0.029999999999999999, 0, self.height - self.titleHeight - 0.029999999999999999), text_font = PiratesGlobals.getPirateOutlineFont(), textMayChange = 1)
     self.closeButton = DialogButton.DialogButton(parent = self, buttonStyle = DialogButton.DialogButton.NO, text = PLocalizer.lClose, pos = (1.05, 0, 0.074999999999999997), command = self.closePanel)
     self.labels = []
     self.grids = { }
     self.manager = base.localAvatar.guiMgr.inventoryUIManager
     self.buttonSize = self.manager.standardButtonSize
     main_gui = loader.loadModel('models/gui/gui_main')
     generic_x = main_gui.find('**/x2')
     generic_box = main_gui.find('**/exit_button')
     generic_box_over = main_gui.find('**/exit_button_over')
     main_gui.removeNode()
     self.newCloseButton = GuiButton.GuiButton(parent = self, relief = None, pos = (2.2999999999999998, 0, 1.0800000000000001), image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.40000000000000002, command = self.closePanel)
     xButton = OnscreenImage(parent = self.newCloseButton, image = generic_x, scale = 0.20000000000000001, pos = (-0.25600000000000001, 0, 0.76600000000000001))
     gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (gui.find('**/generic_button'), gui.find('**/generic_button_down'), gui.find('**/generic_button_over'), gui.find('**/generic_button_disabled'))
     gui.removeNode()
     self.takeAllButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.34999999999999998, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventoryPlunderTakeAll, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (1.3, 0, 0.074999999999999997), command = self.takeAllLoot)
     self.takeAllIncidentalsButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.34999999999999998, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventoryPlunderTakeAllSundries, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (0.80000000000000004, 0, 0.074999999999999997), command = self.requestAllIncidentals)
     self.setBin('gui-fixed', -1)
     self.autoLootList = [
         InventoryType.ItemTypeMoney,
         InventoryCategory.MONEY]
     self.incidentalsList = [
         InventoryType.ItemTypeMoney,
         InventoryType.ItemTypeConsumable,
         InventoryType.TreasureCollection,
         InventoryCategory.CARDS,
         InventoryCategory.MONEY,
         InventoryCategory.WEAPON_PISTOL_AMMO,
         InventoryCategory.WEAPON_GRENADE_AMMO,
         InventoryCategory.WEAPON_CANNON_AMMO,
         InventoryCategory.WEAPON_DAGGER_AMMO]
     self.incidentalsDict = { }
     base.hss = self
     self.initFlag = 0
     self.initPlunder()
 def setupExtraButtons(self):
     weaponIcons = loader.loadModel('models/gui/gui_icons_weapon')
     self.helpButton = DirectButton(parent = base.a2dBottomRight, relief = None, pos = (-0.59999999999999998, 0, 0.089999999999999997), scale = 0.5, text = '?', text_pos = (0, -0.055), text_scale = 0.20999999999999999, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), sortOrder = 2, command = self.toggleHelpUI)
     DirectLabel(parent = self.helpButton, text = PLocalizer.CannonDefense['Help'], text_pos = (0, -0.14999999999999999), text_scale = 0.080000000000000002, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), frameColor = (1, 1, 1, 0))
示例#39
0
 def __init__(self, hotkeys = (), hotkeyLabel = 'J', helpText = None, parent = None, **kw):
     gui = loader.loadModel('models/gui/toplevel_gui')
     iconTexture = gui.find('**/topgui_icon_journal')
     gui.removeNode()
     del gui
     optiondefs = (('image', iconTexture, None), ('image_scale', 0.5, None), ('sortOrder', 1, None), ('relief', None, None))
     self.defineoptions(kw, optiondefs)
     GuiButton.GuiButton.__init__(self, hotkeys = hotkeys, hotkeyLabel = hotkeyLabel, helpText = helpText, parent = parent)
     self.initialiseoptions(JournalButton)
     self.questCounter = 0
     self.infoText = DirectFrame(parent = self, relief = None, text = PLocalizer.JournalButtonInfo, text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), textMayChange = 1, pos = (0, 0, 0.10000000000000001))
     self.numberText = DirectFrame(parent = self, relief = None, text = str(self.questCounter), text_align = TextNode.ACenter, text_scale = 0.080000000000000002, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateOutlineFont(), textMayChange = 1, pos = (0, 0, -0.01))
     self.hotkeyLabel = DirectLabel(parent = self, relief = None, state = DGG.DISABLED, text = hotkeyLabel, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ARight, text_scale = PiratesGuiGlobals.TextScaleSmall, text_pos = (0.10000000000000001, -0.040000000000000001), text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 0)
 def __init__(self, rep, weaponMode):
     self.rep = rep
     self.weaponMode = weaponMode
     localAvatar.cr.targetMgr.reticle.hide()
     if self.weaponMode in (WeaponGlobals.MELEE, WeaponGlobals.COMBAT, WeaponGlobals.THROWING):
         target = base.cr.targetMgr.takeAim(localAvatar)
         if target:
             localAvatar.guiMgr.combatTray.beginAimAssist(target)
         
     
     base.win.movePointer(0, base.win.getXSize() / 2, base.win.getYSize() / 2)
     localAvatar.guiMgr.setSeaChestAllowed(False)
     self.radial = { }
     self.rframe = { }
     self.ammoAmt = { }
     self.rstatus = { }
     self.rstatus[0] = 0
     self.rframe[0] = SkillRing(Vec4(1, 0.80000000000000004, 0.5, 1), Vec4(0, 0, 0, 1.0))
     skillRing = SkillRing(Vec4(1, 0.80000000000000004, 0.5, 1), Vec4(0, 0, 0, 1.0))
     skillRing.reparentTo(aspect2d)
     skillRing.setPos(0.01, 0, 0.01)
     if not self.SkillIcons:
         self.SkillIcons = loader.loadModel('models/textureCards/skillIcons')
         icons = loader.loadModel('models/gui/gui_icons_weapon')
         icons.reparentTo(self.SkillIcons)
     
     if self.rep == InventoryType.DollRep and localAvatar.hasStickyTargets():
         asset = getSkillIconName(self.rep, 1)
     else:
         asset = getSkillIconName(self.rep, 0)
     self.radial[0] = DirectFrame(parent = aspect2d, relief = None, image = self.SkillIcons.find('**/%s' % asset), image_scale = ImageScale(self.rep), image_pos = (0.059999999999999998, 0, 0.059999999999999998), pos = (-0.050000000000000003, 0, -0.050000000000000003), sortOrder = 10)
     self.radial[0].setTransparency(1)
     origMap = ActiveSkills(self.rep, 2)
     self.radialSkillMap = Freebooter.pruneFreebooterSkills(origMap)
     self.numberOfItems = len(self.radialSkillMap)
     for i in range(self.numberOfItems):
         (x, y) = InnerRingOffset(i + 1)
         self.rstatus[i + 1] = 0
         self.rframe[i + 1] = SkillRing(Vec4(1, 0.80000000000000004, 0.5, 1), Vec4(0, 0, 0, 1.0))
         skillRing = SkillRing(Vec4(1, 0.80000000000000004, 0.5, 1), Vec4(0, 0, 0, 1.0))
         skillRing.reparentTo(aspect2d)
         skillRing.setPos(0.01 + x, 0, 0.01 + y)
         asset = getSkillIconName(self.radialSkillMap[i], 0)
         self.radial[i + 1] = DirectFrame(parent = aspect2d, relief = None, image = self.SkillIcons.find('**/%s' % asset), image_pos = (0.059999999999999998, 0, 0.059999999999999998), image_scale = ImageScale(self.rep), sortOrder = 100, pos = (-0.050000000000000003 + x, 0, -0.050000000000000003 + y))
         self.radial[i + 1].setTransparency(1)
         if self.weaponMode in (WeaponGlobals.FIREARM, WeaponGlobals.THROWING, WeaponGlobals.CANNON, WeaponGlobals.GRENADE):
             inv = localAvatar.getInventory()
             skillId = self.radialSkillMap[i]
             maxQuant = WeaponGlobals.getSkillMaxQuantity(skillId)
             if maxQuant == WeaponGlobals.INF_QUANT and WeaponGlobals.canUseInfiniteAmmo(localAvatar.currentWeaponId, skillId) or WeaponGlobals.canUseInfiniteAmmo(localAvatar.getCurrentCharm(), skillId):
                 amtstr = '++'
             else:
                 ammoInvId = WeaponGlobals.getSkillAmmoInventoryId(skillId)
                 ammoAmt = inv.getStackQuantity(ammoInvId)
                 ammoMax = inv.getStackLimit(ammoInvId)
                 amtstr = '%d' % ammoAmt
             self.ammoAmt[i + 1] = DirectLabel(parent = aspect2d, relief = None, text = amtstr, text_align = TextNode.ACenter, text_scale = 0.029999999999999999, text_fg = (0.69999999999999996, 1.0, 1.0, 1), text_font = PiratesGlobals.getPirateBoldOutlineFont(), pos = (x + 0.059999999999999998, 0, y + 0.040000000000000001), textMayChange = 1)
             continue
     
     self.mouseBasePosX = base.win.getXSize() / 2
     self.mouseBasePosY = base.win.getYSize() / 2
     self.radialHelp = DirectLabel(parent = aspect2d, relief = None, text = '', text_align = TextNode.ACenter, text_scale = 0.040000000000000001, text_fg = (0.94999999999999996, 1.0, 1.0, 1), text_shadow = PiratesGuiGlobals.TextShadow, pos = (0, 0, 0), textMayChange = 1)
     self.radialHelp.hide()
     self.radial[0].show()
     self.rframe[0].show()
     self.hiLiteItem = 0
     taskMgr.add(self.radialMenuHeartBeat, 'radialMenuHeartBeat', priority = 40)
     messenger.send('openedSpecialMenu')
 def setup(self):
     self.setBin("gui-fixed", 0)
     self.buttonSize = self.manager.standardButtonSize
     self.inventoryPanelSell = InventoryUISellContainer.InventoryUISellContainer(
         self.manager, self.sellItem, sizeX=self.buttonSize * 3, sizeZ=self.buttonSize * 2, countX=3, countZ=2
     )
     self.inventoryPanelSell.setup()
     self.inventoryPanelSell.setPos(self.sizeX / 4.0 - 0.01, 0.0, self.sizeZ / 4.0 + 0.089999999999999997)
     self.inventoryPanelSell.reparentTo(self)
     self.messageLabel = DirectLabel(
         parent=self,
         relief=None,
         text=PLocalizer.InventorySellMessage,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_wordwrap=16,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.84999999999999998),
     )
     self.goldCostLabel = DirectLabel(
         parent=self,
         relief=None,
         text=PLocalizer.InventorySellGoldCost % 0,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.25),
     )
     Gui = loader.loadModel("models/gui/toplevel_gui")
     buttonImage = (
         Gui.find("**/generic_button"),
         Gui.find("**/generic_button_down"),
         Gui.find("**/generic_button_over"),
         Gui.find("**/generic_button_disabled"),
     )
     self.confirmButton = GuiButton.GuiButton(
         parent=self,
         text=PLocalizer.InventorySell,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_pos=(0.0, -0.014),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_align=TextNode.ACenter,
         text_shadow=PiratesGuiGlobals.TextShadow,
         image=GuiButton.GuiButton.blueGenericButton,
         image_scale=(0.59999999999999998, 0.59999999999999998, 0.59999999999999998),
         pos=(self.sizeX * 0.5, 0, 0.12),
         relief=None,
         command=self.confirmSale,
     )
     self.confirmButton["state"] = DGG.DISABLED
     self.stackSeller = None
     main_gui = loader.loadModel("models/gui/gui_main")
     generic_x = main_gui.find("**/x2")
     generic_box = main_gui.find("**/exit_button")
     generic_box_over = main_gui.find("**/exit_button_over")
     main_gui.removeNode()
     closeButton = GuiButton.GuiButton(
         parent=self,
         relief=None,
         pos=(1.0, 0, -0.01),
         image=(generic_box, generic_box, generic_box_over, generic_box),
         image_scale=0.40000000000000002,
         command=self.callback,
     )
     xButton = OnscreenImage(
         parent=closeButton,
         image=generic_x,
         scale=0.20000000000000001,
         pos=(-0.25600000000000001, 0, 0.76600000000000001),
     )
     localAvatar.disableLootUI()
 def __init__(self, hotkeys = (), hotkeyLabel = None, helpText = PLocalizer.AnchorButtonHelp, parent = None, **kw):
     card = loader.loadModel('models/textureCards/icons')
     iconTexture = card.find('**/icon_anchor')
     card = loader.loadModel('models/textureCards/skillIcons')
     base1 = card.find('**/base')
     base2 = card.find('**/base_over')
     base3 = card.find('**/base_down')
     seq = NodePath(SequenceNode(''))
     base2.copyTo(seq)
     base1.copyTo(seq)
     base1.copyTo(seq)
     base1.copyTo(seq)
     seq.node().setFrameRate(1.5)
     seq.node().loop(True)
     optiondefs = (('image', (seq, base3, base2), None), ('image_scale', 0.19500000000000001, None), ('geom', iconTexture, None), ('geom_scale', 0.14999999999999999, None), ('sortOrder', 1, None), ('relief', None, None))
     self.defineoptions(kw, optiondefs)
     BlinkButton.BlinkButton.__init__(self, hotkeys = hotkeys, hotkeyLabel = hotkeyLabel, helpText = helpText, helpPos = (0.050000000000000003, 0, -0.10000000000000001), parent = parent)
     self.initialiseoptions(AnchorButton)
     self.infoText = DirectFrame(parent = self, relief = None, text = PLocalizer.AnchorButtonInfo, text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), textMayChange = 1, pos = (0, 0, 0.105))
 def setup(self):
     self.setBin('gui-fixed', 1)
     self.itemLabel = DirectLabel(
         parent=self,
         relief=None,
         text='%s' % self.fromCell.inventoryItem.getName(),
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         image=self.fromCell.inventoryItem['image'],
         image_scale=self.fromCell.inventoryItem['image_scale'],
         text_pos=(0.0, 0.066000000000000003),
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.65000000000000002))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'),
                    Gui.find('**/generic_button_down'),
                    Gui.find('**/generic_button_over'),
                    Gui.find('**/generic_button_disabled'))
     self.confirmButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.22, 1.0, 0.22),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=PLocalizer.InventorySplitterConfirm,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.5, 0, 0.050000000000000003),
         command=self.manager.closeSplitter)
     self.allButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.13, 1.0, 0.17999999999999999),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=PLocalizer.InventorySplitterAll,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.75, 0, self.sizeZ * 0.25),
         command=self.setAll)
     self.noneButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.13, 1.0, 0.17999999999999999),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=PLocalizer.InventorySplitterNone,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.25, 0, self.sizeZ * 0.25),
         command=self.setNone)
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.closeButton = DirectButton(
         parent=self,
         relief=None,
         pos=(self.sizeX - 0.035000000000000003, 0,
              self.sizeZ - 0.035000000000000003),
         scale=0.28000000000000003,
         geom=generic_x,
         image=(generic_box, generic_box, generic_box_over, generic_box),
         image_scale=0.69999999999999996,
         text='',
         textMayChange=1,
         command=self.manager.closeSplitter)
     charGui = loader.loadModel('models/gui/char_gui')
     incImage = (charGui.find('**/chargui_forward'),
                 charGui.find('**/chargui_forward_down'),
                 charGui.find('**/chargui_forward_over'))
     decImage = (charGui.find('**/chargui_back'),
                 charGui.find('**/chargui_back_down'),
                 charGui.find('**/chargui_back_over'))
     amount = self.fromCell.inventoryItem.getAmount()
     self.slider = DirectSlider(
         parent=self,
         relief=None,
         command=self.updateSlider,
         image=charGui.find('**/chargui_slider_small'),
         image_scale=(2.1499999999999999, 2.1499999999999999, 1.5),
         thumb_relief=None,
         thumb_image=(charGui.find('**/chargui_slider_node'),
                      charGui.find('**/chargui_slider_node_down'),
                      charGui.find('**/chargui_slider_node_over')),
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.38),
         text_align=TextNode.ACenter,
         text_scale=(0.10000000000000001, 0.10000000000000001),
         text_pos=(0.0, 0.10000000000000001),
         text_fg=PiratesGuiGlobals.TextFG1,
         scale=0.38,
         pageSize=1.0,
         scrollSize=1.0,
         text='default',
         value=0,
         range=(0, amount))
     self.incButton = DirectButton(parent=self,
                                   relief=None,
                                   pos=(self.sizeX * 0.55000000000000004, 0,
                                        self.sizeZ * 0.25),
                                   image=incImage,
                                   image_scale=0.34999999999999998,
                                   text='',
                                   textMayChange=1)
     self.decButton = DirectButton(parent=self,
                                   relief=None,
                                   pos=(self.sizeX * 0.45000000000000001, 0,
                                        self.sizeZ * 0.25),
                                   image=decImage,
                                   image_scale=0.34999999999999998,
                                   text='',
                                   textMayChange=1)
     self.slider.guiItem.setLeftButton(self.decButton.guiItem)
     self.slider.guiItem.setRightButton(self.incButton.guiItem)
 def __init__(self, name, stats, playerStats, ship):
     GuiPanel.GuiPanel.__init__(self,
                                '',
                                self.width,
                                self.height,
                                showClose=False)
     self.ship = ship
     self.stats = stats
     self.playerStats = playerStats
     self.plunderHeight = 1.65
     self.initialiseoptions(HighSeasScoreboard)
     self.leftPanel = None
     self.rightPanel = None
     self.addedLootInfoText = 0
     self.autoPlundered = 0
     self.preAutoPlundered = 0
     self.displayedGold = 0
     titleTxt = PLocalizer.ScoreboardTitle
     if self.ship.shipClass == ShipGlobals.BLACK_PEARL:
         titleTxt = PLocalizer.BlackPearlScoreboard
     else:
         titleTxt = PLocalizer.LootScoreboard
     self.title = DirectLabel(
         parent=self,
         relief=None,
         text=titleTxt,
         text_align=TextNode.ALeft,
         text_scale=self.titleHeight,
         text_fg=PiratesGuiGlobals.TextFG10,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(0.03, 0, self.height - self.titleHeight - 0.03),
         text_font=PiratesGlobals.getPirateOutlineFont(),
         textMayChange=1)
     self.closeButton = DialogButton.DialogButton(
         parent=self,
         buttonStyle=DialogButton.DialogButton.NO,
         text=PLocalizer.lClose,
         pos=(1.05, 0, 0.075),
         command=self.closePanel)
     self.labels = []
     self.grids = {}
     self.manager = base.localAvatar.guiMgr.inventoryUIManager
     self.buttonSize = self.manager.standardButtonSize
     main_gui = loader.loadModel('models/gui/gui_main')
     generic_x = main_gui.find('**/x2')
     generic_box = main_gui.find('**/exit_button')
     generic_box_over = main_gui.find('**/exit_button_over')
     main_gui.removeNode()
     self.newCloseButton = GuiButton.GuiButton(
         parent=self,
         relief=None,
         pos=(2.3, 0, 1.08),
         image=(generic_box, generic_box, generic_box_over, generic_box),
         image_scale=0.4,
         command=self.closePanel)
     xButton = OnscreenImage(parent=self.newCloseButton,
                             image=generic_x,
                             scale=0.2,
                             pos=(-0.256, 0, 0.766))
     gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (gui.find('**/generic_button'),
                    gui.find('**/generic_button_down'),
                    gui.find('**/generic_button_over'),
                    gui.find('**/generic_button_disabled'))
     gui.removeNode()
     self.takeAllButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.35, 1.0, 0.22),
         image0_color=VBase4(0.65, 0.65, 0.65, 1),
         image1_color=VBase4(0.4, 0.4, 0.4, 1),
         image2_color=VBase4(0.9, 0.9, 0.9, 1),
         image3_color=VBase4(0.41, 0.4, 0.4, 1),
         text=PLocalizer.InventoryPlunderTakeAll,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(1.3, 0, 0.075),
         command=self.takeAllLoot)
     self.takeAllIncidentalsButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.35, 1.0, 0.22),
         image0_color=VBase4(0.65, 0.65, 0.65, 1),
         image1_color=VBase4(0.4, 0.4, 0.4, 1),
         image2_color=VBase4(0.9, 0.9, 0.9, 1),
         image3_color=VBase4(0.41, 0.4, 0.4, 1),
         text=PLocalizer.InventoryPlunderTakeAllSundries,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(0.8, 0, 0.075),
         command=self.requestAllIncidentals)
     self.setBin('gui-fixed', -1)
     self.autoLootList = [
         InventoryType.ItemTypeMoney, InventoryCategory.MONEY
     ]
     self.incidentalsList = [
         InventoryType.ItemTypeMoney, InventoryType.ItemTypeConsumable,
         InventoryType.TreasureCollection, InventoryCategory.CARDS,
         InventoryCategory.MONEY, InventoryCategory.WEAPON_PISTOL_AMMO,
         InventoryCategory.WEAPON_GRENADE_AMMO,
         InventoryCategory.WEAPON_CANNON_AMMO,
         InventoryCategory.WEAPON_DAGGER_AMMO
     ]
     self.incidentalsDict = {}
     base.hss = self
     self.initFlag = 0
     self.initPlunder()
     return
示例#45
0
    def makeCell(self,
                 cellImage=None,
                 imageScale=None,
                 imagePos=None,
                 frameScale=(1.0, 1.0),
                 offset=(0.0, 0.0)):
        textScale = 0.25 * self.cellSizeX
        if not imageScale:
            imageScale = self.imageScale

        if not imagePos:
            imagePos = self.imagePos

        if not cellImage:
            cell = DirectButton(
                parent=self,
                relief=None,
                rolloverSound=self.rolloverSound,
                frameSize=(offset[0] + self.cellSizeX * -0.5 * frameScale[0],
                           offset[0] + self.cellSizeX * 0.5 * frameScale[0],
                           offset[1] + self.cellSizeZ * -0.5 * frameScale[1],
                           offset[1] + self.cellSizeZ * 0.5 * frameScale[1]),
                textMayChange=1,
                text='',
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                text_scale=textScale,
                text_pos=(0.0, self.cellSizeZ * -0.27000000000000002),
                pos=(self.cellSizeX * 0.5, 0.0, self.cellSizeZ * 0.5),
                command=self.cellClick,
                extraArgs=[None])
        else:
            imageScale = imageScale * self.cellSizeX
            cell = DirectButton(
                parent=self,
                relief=None,
                rolloverSound=self.rolloverSound,
                textMayChange=1,
                image=cellImage,
                image_scale=imageScale,
                image_pos=imagePos,
                frameSize=(imagePos[0] - imageScale / 2.0,
                           imagePos[0] + imageScale / 2.0,
                           imagePos[2] - imageScale / 2.0,
                           imagePos[2] + imageScale / 2.0),
                text='',
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                text_scale=textScale,
                text_pos=(0.0, self.cellSizeZ * -0.27000000000000002),
                pos=(self.cellSizeX * 0.5, 0.0, self.cellSizeZ * 0.5),
                command=self.cellClick,
                extraArgs=[None])
        cell.cellSizeX = self.cellSizeX
        cell.cellSizeZ = self.cellSizeZ
        cell['extraArgs'] = [cell]
        cellLabel = DirectLabel(
            parent=cell,
            textMayChange=1,
            text='',
            text_font=PiratesGlobals.getPirateBoldOutlineFont(),
            text_fg=PiratesGuiGlobals.TextFG2,
            text_scale=textScale,
            text_align=TextNode.ARight,
            text_shadow=PiratesGuiGlobals.TextShadow,
            text_pos=(0.45000000000000001 * self.cellSizeX - 0,
                      -0.65000000000000002 * self.cellSizeZ + textScale))
        cellLabel.hide()
        cell.labelText = ''
        cell.boundEvent = None
        cell.labelEvent = None
        cell.label = cellLabel
        cell.inventoryItem = None
        cell.hotlink = None
        cell.container = self
        cell.number = InventoryUIContainer.cellCount
        cell.showLabel = 0
        cell.statusMask = Set([])
        InventoryUIContainer.cellCount += 1
        if self.testWithIn():
            cell.bind(DGG.ENTER,
                      self.manager.startCellItemDetails,
                      extraArgs=[
                          cell, self.detailsPos, self.detailsHeight,
                          self.detailsDelay
                      ])
            cell.bind(DGG.EXIT, self.manager.cancelCellItemDetails)
            cell.bind(DGG.WITHIN, self.manager.setWithin, extraArgs=[cell, 0])
            cell.bind(DGG.WITHOUT, self.manager.setWithin, extraArgs=[cell, 1])
        else:
            cell.bind(DGG.ENTER, self.enterCell, extraArgs=[cell])
            cell.bind(DGG.EXIT, self.exitCell, extraArgs=[cell])
        cell.bind(DGG.B1PRESS, self.manager.withinDrag)
        cell.bind(DGG.B3PRESS, self.manager.rightPress)
        self.cellList.append(cell)
        cell.slotId = None
        return cell
 def __init__(self, manager, itemTuple, imageScaleFactor = 1.0):
     sizeX = 1.0
     sizeZ = 1.0
     textScale = 0.040000000000000001
     optiondefs = (('relief', None, None), ('borderWidth', (0.01, 0.01), None), ('state', DGG.DISABLED, None), ('text', '', None), ('text_font', PiratesGlobals.getPirateBoldOutlineFont(), None), ('text_fg', (1, 1, 1, 1), None), ('text_shadow', PiratesGuiGlobals.TextShadow, None), ('textMayChange', 1, None), ('text_scale', textScale, None))
     self.defineoptions({ }, optiondefs)
     DirectFrame.__init__(self, parent = NodePath())
     InventoryRequestBase.InventoryRequestBase.__init__(self)
     self.initialiseoptions(InventoryUIItem)
     self.itemTuple = itemTuple
     self.cell = None
     self.hotlink = None
     self.manager = manager
     self.textScale = 1.0
     self.imageScale = 1.0 * imageScaleFactor
     self.textOffset = -0.5
     self.itemType = ITEM_NORMAL
     self.iconColor = (1, 1, 1, 1)
     self.showResaleValue = True
    def makeCell(self, cellImage=None, imageScale=None, imagePos=None, frameScale=(1.0, 1.0), offset=(0.0, 0.0)):
        textScale = 0.25 * self.cellSizeX
        if not imageScale:
            imageScale = self.imageScale

        if not imagePos:
            imagePos = self.imagePos

        if not cellImage:
            cell = DirectButton(
                parent=self,
                relief=None,
                rolloverSound=self.rolloverSound,
                frameSize=(
                    offset[0] + self.cellSizeX * -0.5 * frameScale[0],
                    offset[0] + self.cellSizeX * 0.5 * frameScale[0],
                    offset[1] + self.cellSizeZ * -0.5 * frameScale[1],
                    offset[1] + self.cellSizeZ * 0.5 * frameScale[1],
                ),
                textMayChange=1,
                text="",
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                text_scale=textScale,
                text_pos=(0.0, self.cellSizeZ * -0.27000000000000002),
                pos=(self.cellSizeX * 0.5, 0.0, self.cellSizeZ * 0.5),
                command=self.cellClick,
                extraArgs=[None],
            )
        else:
            imageScale = imageScale * self.cellSizeX
            cell = DirectButton(
                parent=self,
                relief=None,
                rolloverSound=self.rolloverSound,
                textMayChange=1,
                image=cellImage,
                image_scale=imageScale,
                image_pos=imagePos,
                frameSize=(
                    imagePos[0] - imageScale / 2.0,
                    imagePos[0] + imageScale / 2.0,
                    imagePos[2] - imageScale / 2.0,
                    imagePos[2] + imageScale / 2.0,
                ),
                text="",
                text_font=PiratesGlobals.getPirateBoldOutlineFont(),
                text_fg=PiratesGuiGlobals.TextFG2,
                text_shadow=PiratesGuiGlobals.TextShadow,
                text_scale=textScale,
                text_pos=(0.0, self.cellSizeZ * -0.27000000000000002),
                pos=(self.cellSizeX * 0.5, 0.0, self.cellSizeZ * 0.5),
                command=self.cellClick,
                extraArgs=[None],
            )
        cell.cellSizeX = self.cellSizeX
        cell.cellSizeZ = self.cellSizeZ
        cell["extraArgs"] = [cell]
        cellLabel = DirectLabel(
            parent=cell,
            textMayChange=1,
            text="",
            text_font=PiratesGlobals.getPirateBoldOutlineFont(),
            text_fg=PiratesGuiGlobals.TextFG2,
            text_scale=textScale,
            text_align=TextNode.ARight,
            text_shadow=PiratesGuiGlobals.TextShadow,
            text_pos=(0.45000000000000001 * self.cellSizeX - 0, -0.65000000000000002 * self.cellSizeZ + textScale),
        )
        cellLabel.hide()
        cell.labelText = ""
        cell.boundEvent = None
        cell.labelEvent = None
        cell.label = cellLabel
        cell.inventoryItem = None
        cell.hotlink = None
        cell.container = self
        cell.number = InventoryUIContainer.cellCount
        cell.showLabel = 0
        cell.statusMask = Set([])
        InventoryUIContainer.cellCount += 1
        if self.testWithIn():
            cell.bind(
                DGG.ENTER,
                self.manager.startCellItemDetails,
                extraArgs=[cell, self.detailsPos, self.detailsHeight, self.detailsDelay],
            )
            cell.bind(DGG.EXIT, self.manager.cancelCellItemDetails)
            cell.bind(DGG.WITHIN, self.manager.setWithin, extraArgs=[cell, 0])
            cell.bind(DGG.WITHOUT, self.manager.setWithin, extraArgs=[cell, 1])
        else:
            cell.bind(DGG.ENTER, self.enterCell, extraArgs=[cell])
            cell.bind(DGG.EXIT, self.exitCell, extraArgs=[cell])
        cell.bind(DGG.B1PRESS, self.manager.withinDrag)
        cell.bind(DGG.B3PRESS, self.manager.rightPress)
        self.cellList.append(cell)
        cell.slotId = None
        return cell
 def setup(self):
     self.setBin('gui-fixed', 1)
     self.itemLabel = DirectLabel(parent = self, relief = None, text = '%s' % self.fromCell.inventoryItem.getName(), text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, image = self.fromCell.inventoryItem['image'], image_color = (self.fromCell.inventoryItem.iconColor[0], self.fromCell.inventoryItem.iconColor[1], self.fromCell.inventoryItem.iconColor[2], self.fromCell.inventoryItem.iconColor[3]), image_scale = self.fromCell.inventoryItem['image_scale'], text_pos = (0.0, 0.066000000000000003), pos = (self.sizeX * 0.5, 0.0, self.sizeZ * 0.5))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'), Gui.find('**/generic_button_down'), Gui.find('**/generic_button_over'), Gui.find('**/generic_button_disabled'))
     confirmMessage = PLocalizer.InventoryRemoveDrop
     self.confirmButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.22, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = confirmMessage, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.25, 0, 0.10000000000000001), command = self.manager.discardFromRemover)
     self.cancelButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.22, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventoryRemoveCancel, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.75, 0, 0.10000000000000001), command = self.manager.closeRemover)
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.closeButton = DirectButton(parent = self, relief = None, pos = (self.sizeX - 0.035000000000000003, 0, self.sizeZ - 0.035000000000000003), scale = 0.28000000000000003, geom = generic_x, image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.69999999999999996, text = '', textMayChange = 1, command = self.manager.closeRemover)
 def __init__(self, cell, parent):
     self.sizeX = 0.64000000000000001
     self.sizeZ = 0.64000000000000001
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     frameSize = (-0.0 * self.sizeX, 1.0 * self.sizeX, -0.0 * self.sizeZ, 1.0 * self.sizeZ)
     modelName = 'pir_m_gui_frm_subframe'
     imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 1.0)
     optiondefs = (('state', DGG.DISABLED, None), ('frameSize', frameSize, None), ('modelName', modelName, None), ('imageColorScale', imageColorScale, None))
     self.defineoptions({ }, optiondefs)
     BorderFrame.__init__(self, parent = NodePath())
     self.initialiseoptions(InventoryStackSeller)
     self.doubleFrame = BorderFrame(parent = self, frameSize = frameSize, modelName = modelName, imageColorScale = imageColorScale)
     self.tripleFrame = BorderFrame(parent = self, frameSize = frameSize, modelName = modelName, imageColorScale = imageColorScale, text = PLocalizer.InventorySplitterTitle, text_align = TextNode.ACenter, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_fg = VBase4(1, 1, 1, 1), text_shadow = PiratesGuiGlobals.TextShadow, text_scale = textScale, text_pos = (self.sizeX * 0.5, self.sizeZ * 0.94999999999999996 - textScale))
     self.fromCell = cell
     self.parent = parent
     self.amount = self.fromCell.inventoryItem.getAmount()
     self.setup()
示例#50
0
 def __init__(self, parent, showSkills = 0, **kw):
     GuiTray.GuiTray.__init__(self, parent, 0.75, 0.14999999999999999, **kw)
     self.initialiseoptions(StatusTray)
     self.name = None
     self.sticky = False
     self.level = 0
     self.doId = 0
     self.prevDoId = 0
     self.hideValues = 0
     self.card = None
     self.prevChange = 0
     self.prevRange = 0
     self.prevValue = 0
     self.fader = None
     self.skillEffects = { }
     self.durationTask = None
     self.nameLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_align = TextNode.ALeft, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = Vec4(0.80000000000000004, 0.69999999999999996, 0.59999999999999998, 1), text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (0.040000000000000001, 0, 0.11), text_font = PiratesGlobals.getPirateBoldOutlineFont())
     self.stickyLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_align = TextNode.ARight, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (0.56999999999999995, 0, 0.025000000000000001), text_font = PiratesGlobals.getInterfaceOutlineFont())
     self.hpLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, frameColor = (0, 0, 0, 0.20000000000000001), frameSize = (-0.01, 0.40000000000000002, -0.014999999999999999, 0.040000000000000001), pos = (0.32000000000000001, 0, 0.0060000000000000001), text = PLocalizer.StatusTrayHp, text_align = TextNode.ALeft, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), textMayChange = 0)
     self.hpLabel.hide()
     self.voodooMeter = DirectWaitBar(parent = self, state = DGG.DISABLED, relief = DGG.RAISED, borderWidth = (0.0050000000000000001, 0.0050000000000000001), frameSize = (0.0, 0.53000000000000003, 0.0070000000000000001, 0.035000000000000003), frameColor = (0, 0, 0, 1), pos = (0.20000000000000001, 0, -0.055), range = 100, value = 100, barColor = (0.59999999999999998, 0.59999999999999998, 0.94999999999999996, 1), text = '', text_align = TextNode.ARight, text_scale = PiratesGuiGlobals.TextScaleMed, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0.5, -0.035000000000000003, 0), text_font = PiratesGlobals.getInterfaceFont(), textMayChange = 1, sortOrder = 0)
     self.voodooMeter.setTransparency(1)
     self.voodooMeter.component('text0').hide()
     self.hpMeter = DirectWaitBar(parent = self, state = DGG.DISABLED, relief = DGG.RAISED, borderWidth = (0.0050000000000000001, 0.0050000000000000001), frameSize = (0.0, 0.53000000000000003, 0.002, 0.029999999999999999), frameColor = (0, 0, 0, 1), pos = (0.20000000000000001, 0, 0.050000000000000003), range = 100, value = 100, barColor = (0.10000000000000001, 0.69999999999999996, 0.10000000000000001, 1), text = '', text_align = TextNode.ARight, text_scale = PiratesGuiGlobals.TextScaleMed, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0.5, -0.044999999999999998, 0), text_font = PiratesGlobals.getInterfaceFont(), textMayChange = 1, sortOrder = 0)
     self.hpMeter.setTransparency(1)
     self.hpMeter.component('text0').hide()
     self.hpMeterChange = DirectFrame(parent = self, state = DGG.DISABLED, frameSize = (0.0, 0.53000000000000003, 0.0, 0.025999999999999999), frameColor = (1.0, 0.0, 0.0, 1.0), pos = (0, 0, 0))
     self.hpMeterChange.setBin('gui-fixed', 0)
     self.hpMeterChange.hide()
     self.hpMeterDownIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.5, color = VBase4(0.69999999999999996, 0.10000000000000001, 0.10000000000000001, 1.0), blendType = 'easeOut'), LerpColorInterval(self.hpMeterChange, 0.25, color = VBase4(0.0, 0.0, 0.0, 1.0), blendType = 'easeOut'), Func(self.hpMeterChange.hide))
     self.hpMeterUpGreenIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(0.10000000000000001, 0.69999999999999996, 0.10000000000000001, 1.0)), Func(self.hpMeterChange.hide))
     self.hpMeterUpRedIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(1.0, 0.0, 0.0, 1.0)), Func(self.hpMeterChange.hide))
     self.hpMeterUpYellowIval = Sequence(Func(self.hpMeterChange.show), Wait(0.10000000000000001), LerpColorInterval(self.hpMeterChange, 0.75, color = VBase4(1.0, 1.0, 0.10000000000000001, 1.0)), Func(self.hpMeterChange.hide))
     self.meterChangeOffset = (0.0, 0.0, 0.050000000000000003)
     self.prevTargetName = ''
     self.voodooLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, frameColor = (0, 0, 0, 0.20000000000000001), frameSize = (-0.01, 0.40000000000000002, -0.014999999999999999, 0.040000000000000001), pos = (0.32000000000000001, 0, -0.091999999999999998), text = PLocalizer.StatusTrayVoodoo, text_align = TextNode.ALeft, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), textMayChange = 0)
     self.voodooLabel.hide()
     self.statusEffectsPanel = StatusEffectsPanel.StatusEffectsPanel(parent = self)
     flagModel = loader.loadModel('models/gui/flag_icons')
     flagModel2 = loader.loadModel('models/gui/gui_icons_weapon')
     flagModels = [
         flagModel.find('**/flag_undead'),
         flagModel.find('**/flag_navy'),
         flagModel.find('**/flag_eitc'),
         flagModel2.find('**/pir_t_ico_dol_straw')]
     for icon in flagModels:
         if icon == flagModel2.find('**/pir_t_ico_dol_straw'):
             icon.setScale(0.10000000000000001)
         else:
             icon.setScale(0.44)
         icon.flattenStrong()
     
     self.icons = {
         PiratesGlobals.UNDEAD_TEAM: flagModels[0],
         PiratesGlobals.NAVY_TEAM: flagModels[1],
         PiratesGlobals.TRADING_CO_TEAM: flagModels[2],
         PiratesGlobals.FRENCH_UNDEAD_TEAM: flagModels[0],
         PiratesGlobals.SPANISH_UNDEAD_TEAM: flagModels[0],
         PiratesGlobals.PLAYER_TEAM: flagModels[3],
         PiratesGlobals.VOODOO_ZOMBIE_TEAM: flagModels[0],
         PiratesGlobals.BOUNTY_HUNTER_TEAM: flagModels[0] }
     self.pvpIcon = Beacon.getBeaconModel()
     self.pvpIcon.setScale(0.12)
     self.pvpIcon.flattenStrong()
     privateerLogos = loader.loadModel('models/textureCards/sailLogo')
     self.privateerLogos = {
         PVPGlobals.FrenchTeam: privateerLogos.find('**/logo_french_flag'),
         PVPGlobals.SpanishTeam: privateerLogos.find('**/logo_spanish_flag') }
     for logo in self.privateerLogos.itervalues():
         logo.setScale(0.073999999999999996)
         logo.flattenStrong()
     
     self.currentIcon = None
     if showSkills:
         self.card = loader.loadModel('models/textureCards/skillIcons')
         icons = loader.loadModel('models/gui/gui_icons_weapon')
         icons.reparentTo(self.card)
         self.reloadFrame = DirectFrame(parent = self, state = DGG.DISABLED, relief = None)
         self.reloadFrame.hide()
         self.activeName = DirectLabel(parent = self.reloadFrame, state = DGG.DISABLED, relief = None, text = 'Using Skill', text_align = TextNode.ARight, text_scale = 0.059999999999999998, pos = (-0.050000000000000003, 0, 0.01), text_fg = PiratesGuiGlobals.TextFG11, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateOutlineFont())
         tex = self.card.find('**/base')
         self.reloadFrame['scale'] = 0.5
         self.reloadFrame['image'] = tex
         self.reloadFrame['image_scale'] = 0.085000000000000006
         self.reloadFrame['image_pos'] = (0, 0, 0.02)
         self.reloadFrame.setPos(0.12, 0, -0.019)
         self.reloadFrame.setScale(0.69999999999999996)
         tex = self.card.find('**/cutlass_sweep')
         self.skillFrame = DirectFrame(parent = self.reloadFrame, state = DGG.DISABLED, relief = None, sortOrder = 20, image_pos = (0, 0, 0))
         self.skillFrame.setTransparency(1)
         self.skillFrame['image'] = tex
         self.skillFrame['image_scale'] = 0.10000000000000001
         self.skillFrame['image_pos'] = (0, 0, 0.02)
         self.activeName['text_align'] = TextNode.ALeft
         self.activeName.setPos(0.089999999999999997, 0, 0.01)
 def __init__(self, cannon):
     gui = loader.loadModel('models/gui/toplevel_gui')
     shipGui = loader.loadModel('models/gui/ship_battle')
     card = loader.loadModel('models/textureCards/skillIcons')
     weaponIcons = loader.loadModel('models/gui/gui_icons_weapon')
     DirectFrame.__init__(self, parent = base.a2dBottomCenter, relief = None, pos = (0, 0, 0.34999999999999998), scale = 0.59999999999999998)
     self.initialiseoptions(CannonGUI)
     self.cannon = cannon
     self.reloadIval = None
     self.skillTray = localAvatar.guiMgr.combatTray.skillTray
     self.volleyLabel = DirectLabel(parent = self, relief = None, pos = (0, 0, 0.080000000000000002), text = '0', text_align = TextNode.ACenter, text_scale = 0.080000000000000002, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, sortOrder = 2)
     self.volleyLabel.setTransparency(1)
     self.reloadBar = DirectWaitBar(parent = self, relief = None, image = shipGui.find('**/ship_battle_speed_bar*'), image_pos = (0.25, 0, 0.02), image_scale = (0.37, 1.0, 1.0), borderWidth = (0, 0), range = 1, value = 1, frameColor = (0.050000000000000003, 0.34999999999999998, 0.050000000000000003, 1), barColor = (0.25, 0.10000000000000001, 1.0, 1), pos = (-0.25, 0, -0.10000000000000001), frameSize = (0, 0.5, 0, 0.040000000000000001), text = '', text_fg = (0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), text_pos = (0.070000000000000007, 0.01, 0.0), text_scale = 0.029999999999999999, sortOrder = 2)
     self.reloadBar.setTransparency(1)
     self.ammoImage = DirectFrame(parent = self, relief = None, image = card.find('**/base'), image_scale = 0.25, image_pos = (0.10000000000000001, 0, 0.050000000000000003), geom = card.find('**/pir_t_gui_amo_cannonBalls'), geom_scale = 0.25, geom_pos = (0.10000000000000001, 0, 0.050000000000000003), pos = (-0.10000000000000001, 0, 0.050000000000000003), frameSize = (0, 0.20000000000000001, 0, 0.20000000000000001), sortOrder = 1)
     self.ammoImage.setTransparency(1)
     self.exitCannon = DirectButton(parent = base.a2dBottomRight, relief = None, pos = (-0.39000000000000001, 0, 0.089999999999999997), scale = 0.5, text = PLocalizer.lExit, text_pos = (0, -0.14999999999999999), text_scale = 0.080000000000000002, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getPirateBoldOutlineFont(), image = weaponIcons.find('**/pir_t_ico_can_single'), image_pos = (0, 0, 0), image_scale = 0.17999999999999999, geom = (gui.find('**/pir_t_gui_but_circle_slash'), gui.find('**/pir_t_gui_but_circle_slash'), gui.find('**/pir_t_gui_but_circle_slash_over')), geom_pos = (0, 0, 0), geom_scale = 1, geom_hpr = (0, 0, 90), geom_color = (1.0, 0.5, 0.5, 1), sortOrder = 2, command = self.handleExitCannon)
     self.hideTonic()
     self.hideWeapon()
     gui.removeNode()
     card.removeNode()
     weaponIcons.removeNode()
 def setup(self):
     self.setBin('gui-fixed', 1)
     self.itemLabel = DirectLabel(
         parent=self,
         relief=None,
         text='%s' % self.fromCell.inventoryItem.getName(),
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         image=self.fromCell.inventoryItem['image'],
         image_color=(self.fromCell.inventoryItem.iconColor[0],
                      self.fromCell.inventoryItem.iconColor[1],
                      self.fromCell.inventoryItem.iconColor[2],
                      self.fromCell.inventoryItem.iconColor[3]),
         image_scale=self.fromCell.inventoryItem['image_scale'],
         text_pos=(0.0, 0.066000000000000003),
         pos=(self.sizeX * 0.5, 0.0, self.sizeZ * 0.5))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'),
                    Gui.find('**/generic_button_down'),
                    Gui.find('**/generic_button_over'),
                    Gui.find('**/generic_button_disabled'))
     confirmMessage = PLocalizer.InventoryRemoveDrop
     self.confirmButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.22, 1.0, 0.22),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=confirmMessage,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.25, 0, 0.10000000000000001),
         command=self.manager.discardFromRemover)
     self.cancelButton = DirectButton(
         parent=self,
         relief=None,
         image=buttonImage,
         image_scale=(0.22, 1.0, 0.22),
         image0_color=VBase4(0.65000000000000002, 0.65000000000000002,
                             0.65000000000000002, 1),
         image1_color=VBase4(0.40000000000000002, 0.40000000000000002,
                             0.40000000000000002, 1),
         image2_color=VBase4(0.90000000000000002, 0.90000000000000002,
                             0.90000000000000002, 1),
         image3_color=VBase4(0.40999999999999998, 0.40000000000000002,
                             0.40000000000000002, 1),
         text=PLocalizer.InventoryRemoveCancel,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         text_align=TextNode.ACenter,
         text_pos=(0, -0.01),
         text_scale=PiratesGuiGlobals.TextScaleLarge,
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         pos=(self.sizeX * 0.75, 0, 0.10000000000000001),
         command=self.manager.closeRemover)
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.closeButton = DirectButton(
         parent=self,
         relief=None,
         pos=(self.sizeX - 0.035000000000000003, 0,
              self.sizeZ - 0.035000000000000003),
         scale=0.28000000000000003,
         geom=generic_x,
         image=(generic_box, generic_box, generic_box_over, generic_box),
         image_scale=0.69999999999999996,
         text='',
         textMayChange=1,
         command=self.manager.closeRemover)
示例#53
0
 def __init__(self, **kw):
     self.sizeX = 0.80000000000000004
     self.sizeZ = 0.90000000000000002
     textScale = PiratesGuiGlobals.TextScaleTitleSmall
     optiondefs = (('state', DGG.DISABLED, None), ('frameSize', (-0.0 * self.sizeX, 1.0 * self.sizeX, -0.0 * self.sizeZ, 1.0 * self.sizeZ), None), ('text', PLocalizer.BodyShapeUpdate, None), ('text_align', TextNode.ACenter, None), ('text_font', PiratesGlobals.getPirateBoldOutlineFont(), None), ('text_fg', (1, 1, 1, 1), None), ('text_shadow', PiratesGuiGlobals.TextShadow, None), ('textMayChange', 1, None), ('text_scale', textScale, None), ('text_pos', (self.sizeX * 0.5, self.sizeZ * 0.94999999999999996 - textScale), None))
     self.defineoptions(kw, optiondefs)
     BorderFrame.__init__(self)
     self.initialiseoptions(BodyShapeChanger)
     self.setPos(base.a2dRight - self.sizeX, 0, 0)
     self.confirmDialog = None
     self.isSetup = 0
     self.doingRegen = 0
     self.acceptOnce('localAV-enterHalt', self.setup)
     localAvatar.gameFSM.request('Halt')
     if not self.isSetup:
         self.destroy()
 def setup(self):
     self.setBin('gui-popup', 100)
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'), Gui.find('**/generic_button_down'), Gui.find('**/generic_button_over'), Gui.find('**/generic_button_disabled'))
     textScale = PiratesGuiGlobals.TextScaleLarge
     self.messageLabel = DirectLabel(parent = self, relief = None, text = self.warningText, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ALeft, text_scale = textScale, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_wordwrap = self.sizeX * 0.90000000000000002 / textScale, text_pos = (self.sizeX * -0.42499999999999999, 0.066000000000000003), pos = (self.sizeX * 0.5, 0.0, self.sizeZ * 0.5))
     generic_x = Gui.find('**/generic_x')
     generic_box = Gui.find('**/generic_box')
     generic_box_over = Gui.find('**/generic_box_over')
     self.cancelButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.28000000000000003, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.ChatWarningClose, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.5, 0, 0.10000000000000001), command = self.requestClose)
示例#55
0
 def setup(self):
     self.isSetup = 1
     self.setBin('gui-fixed', 0)
     self.messageLabel = DirectLabel(parent = self, relief = None, text = PLocalizer.BodyChangeText, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ALeft, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_wordwrap = 18, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.050000000000000003, 0.0, self.sizeZ * 0.80000000000000004))
     Gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (Gui.find('**/generic_button'), Gui.find('**/generic_button_down'), Gui.find('**/generic_button_over'), Gui.find('**/generic_button_disabled'))
     self.confirmButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.41999999999999998, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.BodyTypeCommit, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.5, 0, 0.17000000000000001), command = self.confirmBody)
     self.cancelButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.41999999999999998, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.BodyTypeLater, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (self.sizeX * 0.5, 0, 0.070000000000000007), command = self.cancelBody)
     self.confirmButton['state'] = DGG.DISABLED
     main_gui = loader.loadModel('models/gui/gui_main')
     generic_x = main_gui.find('**/x2')
     generic_box = main_gui.find('**/exit_button')
     generic_box_over = main_gui.find('**/exit_button_over')
     main_gui.removeNode()
     closeButton = GuiButton.GuiButton(parent = self, relief = None, pos = (1.0, 0, 0.059999999999999998), image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.40000000000000002, command = self.cancelBody)
     xButton = OnscreenImage(parent = closeButton, image = generic_x, scale = 0.20000000000000001, pos = (-0.25600000000000001, 0, 0.76600000000000001))
     choices = None
     self.originalBody = localAvatar.getStyle().getBodyShape()
     self.bodyChoice = None
     gender = localAvatar.getStyle().gender
     if gender == 'f':
         choices = BodyDefs.BodyChoicesFemale
     elif gender == 'm':
         choices = BodyDefs.BodyChoicesMale
     
     xCount = 0
     for choice in choices:
         choiceButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.12, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = '%s' % (xCount + 1), text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (0.10000000000000001 + 0.14000000000000001 * xCount, 0, 0.27000000000000002), command = self.chooseType, extraArgs = [
             choice])
         xCount += 1
     
     self.accept('localAV-exitHalt', self.cancelBody)
     self.accept('localAv-regenerate', self.cancelBody)
 def __init__(self, manager, sizeX = 1.0, sizeZ = 1.0, countX = 4, countZ = 4, slotList = None):
     InventoryUISlotContainer.InventoryUISlotContainer.__init__(self, manager, sizeX, sizeZ, countX, countZ, slotList)
     self.initialiseoptions(InventoryUIClothingContainer)
     self.rightClickAction = {
         InventoryType.ItemTypeClothing: (None, Locations.CLOTHING_TYPE_TO_RANGE, 1) }
     self.overflowInfo = DirectLabel(parent = self, relief = None, textMayChange = 0, text = PLocalizer.OverflowHint, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_fg = PiratesGuiGlobals.TextFG2, text_scale = 0.040000000000000001, text_align = TextNode.ACenter, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0, 0))
     self.overflowInfo.setPos(0.25, 0, 1.0700000000000001)
     self.overflowInfo.hide()
     base.clothPage = self
     self.accept('overflowChanged', self.handleOverflow)
    def setupLayers(self):
        if hasattr(self, 'border'):
            self.border.destroy()
            self.sideTentacle.removeNode()
            self.background.removeNode()
            self.backTabParent.removeNode()
            self.frontTabParent.removeNode()
            self.b.removeNode()

        gui = loader.loadModel('models/gui/gui_sea_chest')
        scale = 0.32000000000000001
        self.sideTentacle = self.attachNewNode('sideTentacle')
        self.sideTentacle.setScale(scale)
        gui.find('**/side_tentacle').copyTo(self.sideTentacle)
        self.sideTentacle.flattenStrong()
        self.sideTentacle.show()
        self.backTabParent = self.attachNewNode('backTabs')
        self.background = self.attachNewNode('background')
        self.background.setScale(scale)
        gui.find('**/background').copyTo(self.background)
        self.background.flattenStrong()
        border = self.attachNewNode('border', sort = 1)
        geom = gui.find('**/border').copyTo(border)
        geom.flattenStrong()
        geom.setScale(scale)
        self.frontTabParent = self.attachNewNode('frontTab', sort = 2)
        mainGui = loader.loadModel('models/gui/gui_main')
        self.titleLabel = DirectFrame(relief = None, parent = self, textMayChange = 1, image = mainGui.find('**/title_bar_08'), image_scale = 0.20000000000000001, image_pos = (0, 0, -0.315), text = PLocalizer.InventoryPageTitle, text_fg = (1, 1, 1, 1), text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_scale = 0.070000000000000007, text_align = TextNode.ACenter, text_shadow = PiratesGuiGlobals.TextShadow, text_pos = (0.0, 0.0), pos = (0, 0, 0.66000000000000003))
        self.titleLabel.setBin('gui-fixed', 1)
示例#58
0
 def __init__(self, parent, parentMgr, **kw):
     GuiTray.GuiTray.__init__(self, parent, 0.6, 0.12, **kw)
     self.initialiseoptions(ChestTray)
     self.setBin('gui-fixed', 0)
     self.state = 0
     self.buttonsParent = self.attachNewNode(
         ModelNode('ChestTray.buttonsParent'), sort=1)
     self.stickyButtonsParent = self.attachNewNode(
         ModelNode('ChestTray.stickyButtonsParent'), sort=1)
     self.stickyButtonsParent.setPos(0, 0, 0.02)
     self.buttons = {}
     self.buildShowHideButtonsIvals()
     self.openSfx = loadSfx(SoundGlobals.SFX_GUI_OPEN_SEACHEST)
     self.openSfx.setVolume(0.4)
     self.closeSfx = loadSfx(SoundGlobals.SFX_GUI_CLOSE_SEACHEST)
     self.closeSfx.setVolume(0.4)
     gui = loader.loadModel('models/gui/toplevel_gui')
     gui_main = loader.loadModel('models/gui/gui_main')
     helpPos = (-0.26, 0, 0.06)
     helpDelay = 0
     self.buttonImage = gui.find('**/topgui_icon_box')
     self.buttonImageIn = gui.find('**/topgui_icon_box_in')
     self.buttonColors = (VBase4(0.7, 0.7, 0.7,
                                 1), VBase4(0.8, 0.8, 0.8,
                                            1), VBase4(1.0, 1.0, 1.0, 1),
                          VBase4(0.6, 0.6, 0.6, 1))
     self.currentButtonIn = None
     self.highlightButtons = [
         'guiMgrToggleMap', 'guiMgrToggleWeapons', 'guiMgrToggleQuest',
         'guiMgrToggleLevels', 'guiMgrToggleShips', 'guiMgrToggleTreasures',
         'guiMgrToggleLookout', 'guiMgrToggleInventory',
         'guiMgrToggleTitles'
     ]
     buttonOptions = {
         'image': self.buttonImage,
         'geom': None,
         'relief': None,
         'frameSize': (0, 0.12, 0, 0.12),
         'image_scale': 0.47,
         'image_pos': (0.06, 0, 0.06),
         'image0_color': self.buttonColors[0],
         'image1_color': self.buttonColors[1],
         'image2_color': self.buttonColors[2],
         'image3_color': self.buttonColors[3],
         'geom_scale': 0.12,
         'geom_pos': (0.06, 0, 0.06),
         'command': self.togglePanel
     }
     extraHeight = 0
     if self.WantTitlesPage:
         extraHeight = 0.12
     buttonOptions['geom'] = gui.find('**/friend_button_over')
     buttonOptions['geom_scale'] = 0.12
     self.socialButton = GuiButton(parent=self.buttonsParent,
                                   hotkeys=['f', 'shift-f'],
                                   hotkeyLabel='F',
                                   helpText=PLocalizer.SocialButtonHelp,
                                   helpPos=helpPos,
                                   helpDelay=helpDelay,
                                   extraArgs=['guiMgrToggleSocial'],
                                   pos=(0.01, 0, 1.16 + extraHeight),
                                   **buttonOptions)
     self.buttons['guiMgrToggleSocial'] = self.socialButton
     buttonOptions['geom'] = gui.find('**/compass_small_button_open_over')
     buttonOptions['geom_scale'] = 0.09
     self.radarButton = GuiButton(parent=self.buttonsParent,
                                  hotkeys=['c', 'shift-c'],
                                  hotkeyLabel='C',
                                  helpText=PLocalizer.RadarButtonHelp,
                                  helpPos=helpPos,
                                  helpDelay=helpDelay,
                                  extraArgs=['guiMgrToggleRadar'],
                                  pos=(0.01, 0, 1.04 + extraHeight),
                                  **buttonOptions)
     self.buttons['guiMgrToggleRadar'] = self.radarButton
     buttonPosZ = 0.88
     buttonHeight = 0.12
     if self.WantTitlesPage:
         buttonPosZ += buttonHeight
     buttonOptions['geom'] = gui_main.find('**/world_map_icon')
     buttonOptions['geom_scale'] = 0.095
     self.mapButton = GuiButton(parent=self.buttonsParent,
                                hotkeys=['m', 'shift-m'],
                                hotkeyLabel='M',
                                helpText=PLocalizer.MapButtonHelp,
                                helpPos=helpPos,
                                helpDelay=helpDelay,
                                extraArgs=['guiMgrToggleMap'],
                                pos=(0.01, 0, buttonPosZ),
                                **buttonOptions)
     self.buttons['guiMgrToggleMap'] = self.mapButton
     buttonPosZ -= buttonHeight
     self.highlightButton('guiMgrToggleMap')
     buttonOptions['geom'] = (gui.find('**/treasure_chest_closed_over'), )
     buttonOptions['geom_scale'] = 0.12
     self.bagButton = GuiButton(parent=self.buttonsParent,
                                hotkeys=['i', 'shift-i'],
                                hotkeyLabel='I',
                                helpText=PLocalizer.SocialButtonHelp,
                                helpPos=helpPos,
                                helpDelay=helpDelay,
                                extraArgs=['guiMgrToggleInventory'],
                                pos=(0.01, 0, buttonPosZ),
                                **buttonOptions)
     self.buttons['guiMgrToggleInventory'] = self.bagButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_weapons')
     buttonOptions['geom_scale'] = 0.18
     self.weaponButton = GuiButton(parent=self.buttonsParent,
                                   hotkeys=['y', 'shift-y'],
                                   hotkeyLabel='Y',
                                   helpText=PLocalizer.WeaponButtonHelp,
                                   helpPos=helpPos,
                                   helpDelay=helpDelay,
                                   extraArgs=['guiMgrToggleWeapons'],
                                   pos=(0.01, 0, buttonPosZ),
                                   **buttonOptions)
     self.buttons['guiMgrToggleWeapons'] = self.weaponButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_skills')
     buttonOptions['geom_scale'] = 0.18
     self.levelButton = GuiButton(parent=self.buttonsParent,
                                  hotkeys=['k', 'shift-k'],
                                  hotkeyLabel='K',
                                  helpText=PLocalizer.SkillButtonHelp,
                                  helpPos=helpPos,
                                  helpDelay=helpDelay,
                                  extraArgs=['guiMgrToggleLevels'],
                                  pos=(0.01, 0, buttonPosZ),
                                  **buttonOptions)
     self.buttons['guiMgrToggleLevels'] = self.levelButton
     buttonPosZ -= buttonHeight
     if self.WantClothingPage:
         buttonOptions['geom'] = gui.find('**/topgui_icon_clothing')
         buttonOptions['geom_scale'] = 0.17
         self.clothingButton = GuiButton(
             parent=self.buttonsParent,
             helpText=PLocalizer.ClothingButtonHelp,
             helpPos=helpPos,
             helpDelay=helpDelay,
             extraArgs=['guiMgrToggleClothing'],
             pos=(0.01, 0, buttonPosZ),
             **buttonOptions)
         self.buttons['guiMgrToggleClothing'] = self.clothingButton
         buttonPosZ -= buttonHeight
     if self.WantTitlesPage:
         buttonOptions['geom'] = gui.find('**/topgui_infamy_frame')
         buttonOptions['geom_scale'] = 0.2
         self.titlesButton = GuiButton(parent=self.buttonsParent,
                                       hotkeys=['b', 'shift-b'],
                                       hotkeyLabel='B',
                                       helpText=PLocalizer.TitlesButtonHelp,
                                       helpPos=helpPos,
                                       helpDelay=helpDelay,
                                       extraArgs=['guiMgrToggleTitles'],
                                       pos=(0.01, 0, buttonPosZ),
                                       **buttonOptions)
         self.buttons['guiMgrToggleTitles'] = self.titlesButton
         buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_ship')
     buttonOptions['geom_scale'] = 0.2
     self.shipsButton = GuiButton(parent=self.buttonsParent,
                                  hotkeys=['h', 'shift-h'],
                                  hotkeyLabel='H',
                                  helpText=PLocalizer.ShipsButtonHelp,
                                  helpPos=helpPos,
                                  helpDelay=helpDelay,
                                  extraArgs=['guiMgrToggleShips'],
                                  pos=(0.01, 0, buttonPosZ),
                                  **buttonOptions)
     self.buttons['guiMgrToggleShips'] = self.shipsButton
     buttonPosZ -= buttonHeight
     buttonOptions['geom'] = gui.find('**/topgui_icon_journal')
     buttonOptions['geom_scale'] = 0.18
     self.questButton = GuiButton(parent=self.buttonsParent,
                                  hotkeys=['j', 'shift-j'],
                                  hotkeyLabel='J',
                                  helpText=PLocalizer.QuestButtonHelp,
                                  helpPos=helpPos,
                                  helpDelay=helpDelay,
                                  extraArgs=['guiMgrToggleQuest'],
                                  pos=(0.01, 0, buttonPosZ),
                                  **buttonOptions)
     self.buttons['guiMgrToggleQuest'] = self.questButton
     buttonPosZ -= buttonHeight
     self.lookoutButtonNormal = gui.find('**/telescope_button')
     self.lookoutButtonLight = gui.find('**/telescope_button_over')
     self.lookoutButtonSearch3o = gui.find('**/lookout_icon_over_03')
     buttonOptions['geom'] = None
     self.lookoutButton = GuiButton(parent=self.buttonsParent,
                                    hotkeys=['l', 'shift-l'],
                                    hotkeyLabel='L',
                                    helpText=PLocalizer.LookoutButtonHelp,
                                    helpPos=helpPos,
                                    helpDelay=helpDelay,
                                    extraArgs=['guiMgrToggleLookout'],
                                    pos=(0.01, 0, buttonPosZ),
                                    **buttonOptions)
     self.buttons['guiMgrToggleLookout'] = self.lookoutButton
     buttonPosZ -= buttonHeight
     self.lookoutButtonImage = OnscreenImage(
         parent=self.stickyButtonsParent,
         image=self.lookoutButtonLight,
         scale=0.3,
         pos=(0.065, 0.0, 0.215))
     self.lookoutButtonImage.sourceImage = self.lookoutButtonLight
     buttonOptions['geom'] = gui.find('**/topgui_icon_main_menu')
     buttonOptions['geom_scale'] = 0.18
     self.mainMenuButton = GuiButton(
         parent=self.buttonsParent,
         hotkeys=[PiratesGlobals.OptionsHotkey, 'escape'],
         hotkeyLabel='F7',
         helpText=PLocalizer.QuestButtonHelp,
         helpPos=helpPos,
         helpDelay=helpDelay,
         extraArgs=['guiMgrToggleMainMenu'],
         pos=(0.01, 0, buttonPosZ),
         **buttonOptions)
     self.buttons['guiMgrToggleMainMenu'] = self.mainMenuButton
     buttonPosZ -= buttonHeight
     self.chestButtonClosed = (gui.find('**/treasure_chest_closed'),
                               gui.find('**/treasure_chest_closed'),
                               gui.find('**/treasure_chest_closed_over'))
     self.chestButtonOpen = gui.find('**/treasure_chest_open_over')
     self.chestButton = GuiButton(command=self.toggle,
                                  parent=self,
                                  relief=None,
                                  image=self.chestButtonClosed,
                                  image_scale=0.15,
                                  image_pos=(0.05, 0, 0.06),
                                  scale=1.2)
     self.chestHotkeyText = DirectLabel(
         parent=self.chestButton,
         relief=None,
         text='Tab',
         text_align=TextNode.ARight,
         text_scale=PiratesGuiGlobals.TextScaleSmall,
         text_pos=(0.11, 0.0),
         text_fg=PiratesGuiGlobals.TextFG2,
         text_shadow=PiratesGuiGlobals.TextShadow,
         text_font=PiratesGlobals.getPirateBoldOutlineFont(),
         textMayChange=1)
     self.buttonsParent.hide()
     self.buttonsParent.setPos(0.2, 0, 0.14)
     self.stickyButtonsParent.hide()
     self.stickyButtonsParent.setPos(0.2, 0, 0.14)
     gui.removeNode()
     return
 def __init__(self, name, stats, playerStats, ship):
     GuiPanel.GuiPanel.__init__(self, '', self.width, self.height, showClose = False)
     self.ship = ship
     self.stats = stats
     self.playerStats = playerStats
     self.initialiseoptions(HighSeasScoreboard)
     self.leftPanel = None
     self.rightPanel = None
     titleTxt = PLocalizer.ScoreboardTitle
     if self.ship.shipClass == ShipGlobals.BLACK_PEARL:
         titleTxt = PLocalizer.BlackPearlScoreboard
     else:
         titleTxt = PLocalizer.LootScoreboard
     self.title = DirectLabel(parent = self, relief = None, text = titleTxt, text_align = TextNode.ALeft, text_scale = self.titleHeight, text_fg = PiratesGuiGlobals.TextFG10, text_shadow = PiratesGuiGlobals.TextShadow, pos = (0.029999999999999999, 0, self.height - self.titleHeight - 0.029999999999999999), text_font = PiratesGlobals.getPirateOutlineFont(), textMayChange = 1)
     self.closeButton = DialogButton.DialogButton(parent = self, buttonStyle = DialogButton.DialogButton.NO, text = PLocalizer.lClose, pos = (1.05, 0, 0.074999999999999997), command = self.closePanel)
     self.grids = { }
     self.manager = base.localAvatar.guiMgr.inventoryUIManager
     self.buttonSize = self.manager.standardButtonSize
     main_gui = loader.loadModel('models/gui/gui_main')
     generic_x = main_gui.find('**/x2')
     generic_box = main_gui.find('**/exit_button')
     generic_box_over = main_gui.find('**/exit_button_over')
     main_gui.removeNode()
     self.newCloseButton = GuiButton.GuiButton(parent = self, relief = None, pos = (2.2999999999999998, 0, 1.0800000000000001), image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.40000000000000002, command = self.closePanel)
     xButton = OnscreenImage(parent = self.newCloseButton, image = generic_x, scale = 0.20000000000000001, pos = (-0.25600000000000001, 0, 0.76600000000000001))
     gui = loader.loadModel('models/gui/toplevel_gui')
     buttonImage = (gui.find('**/generic_button'), gui.find('**/generic_button_down'), gui.find('**/generic_button_over'), gui.find('**/generic_button_disabled'))
     gui.removeNode()
     self.takeAllButton = DirectButton(parent = self, relief = None, image = buttonImage, image_scale = (0.26000000000000001, 1.0, 0.22), image0_color = VBase4(0.65000000000000002, 0.65000000000000002, 0.65000000000000002, 1), image1_color = VBase4(0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 1), image2_color = VBase4(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), image3_color = VBase4(0.40999999999999998, 0.40000000000000002, 0.40000000000000002, 1), text = PLocalizer.InventoryPlunderTakeAll, text_font = PiratesGlobals.getPirateBoldOutlineFont(), text_align = TextNode.ACenter, text_pos = (0, -0.01), text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = (1.05, 0, 0.074999999999999997), command = self.takeAllLoot)
     self.setBin('gui-fixed', -1)
     self.createScoreboard()