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 __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)