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 createGui(self):
        self.shipcard = loader.loadModel('models/gui/ship_battle')
        tex = self.shipcard.find('**/ship_battle_speed_bar*')
        self.hpFrame = DirectFrame(parent=self,
                                   pos=(0.26900000000000002, 0,
                                        -0.0050000000000000001),
                                   relief=None,
                                   image=tex,
                                   image_scale=(0.29999999999999999, 1,
                                                0.59999999999999998))
        self.hpMeter = DirectWaitBar(
            parent=self.hpFrame,
            relief=DGG.RAISED,
            borderWidth=(0.002, 0.002),
            range=self.ship.maxHp,
            value=self.ship.Hp,
            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.spFrame = DirectFrame(parent=self,
                                   pos=(0.26600000000000001, 0,
                                        -0.029999999999999999),
                                   relief=None,
                                   image=tex,
                                   image_scale=(0.29999999999999999, 1,
                                                0.52000000000000002))
        self.speedMeter = DirectWaitBar(
            parent=self.spFrame,
            relief=DGG.RAISED,
            borderWidth=(0.002, 0.002),
            range=self.ship.maxSp,
            value=self.ship.Sp,
            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())
        tex = self.shipcard.find('**/ship_battle_dish02*')
        self.nameBox = DirectFrame(parent=self,
                                   relief=None,
                                   text=self.ship.getName(),
                                   text_align=TextNode.ALeft,
                                   text_scale=0.044999999999999998,
                                   text_pos=(0.074999999999999997,
                                             -0.085000000000000006),
                                   text_fg=(1, 0, 0, 1),
                                   text_shadow=(0, 0, 0, 1),
                                   text_font=PiratesGlobals.getInterfaceFont())
        color = EnemyGlobals.getShipNametagColor(self.ship.getTeam())
        self.nameBox['text_fg'] = color
        if self.ship.getSiegeTeam():
            gui = loader.loadModel('models/gui/toplevel_gui')
            if self.ship.getSiegeTeam() == 1:
                flagPath = '**/ship_pvp_icon_french'
            else:
                flagPath = '**/ship_pvp_icon_spanish'
            flag = gui.find(flagPath)
            flag.setScale(0.050000000000000003)
        else:
            flagPath = EnemyGlobals.getTeamIconModelPath(self.ship.getTeam())
            flagModel = loader.loadModel('models/gui/flag_icons')
            if flagPath:
                flag = flagModel.find(flagPath)
                flag.setScale(0.25)

        if flagPath:
            flag.flattenStrong()
            flag.reparentTo(self.nameBox)
            flag.setPos(0.11, 0, 0.055)

        self.armorGui = ShipArmorGui(self,
                                     pos=(0.0, 0.0, 0.0),
                                     scale=0.69999999999999996)