def _Subtitler__loadOptionButtons(self, options, callback, extraArgs): def optionCallback(*args): self.advancePageNumber() callback(*args) for i in xrange(len(options)): optionButton = GuiButton(parent = base.a2dBottomRight, pos = (-0.14999999999999999 - (len(options) - 1 - i) * 0.25, 0, 0.095000000000000001), text = str(options[i]), text_pos = (0, -0.012500000000000001), text_scale = 0.050000000000000003, text_fg = PiratesGuiGlobals.TextFG2, textMayChange = 1, command = optionCallback, extraArgs = [ options[i]] + extraArgs, sortOrder = 90) if self.specialButtonImage: optionButton['image'] = self.specialButtonImage optionButton['image_scale'] = (0.59999999999999998, 0.59999999999999998, 0.59999999999999998) optionButton.hide() self._Subtitler__optionButtons.append(optionButton)
class AmmoSkillButton(SkillButton.SkillButton): def __init__(self, skillId, slotId, callback, quantity = 0, skillRank = 0, showQuantity = False, showHelp = False, showRing = False, hotkey = None, name = '', showIcon = True, showLock = False, rechargeSkillId = False, assocAmmo = []): if skillId in [ InventoryType.DefenseCannonRoundShot, InventoryType.DefenseCannonEmpty]: showQuantity = False if not Freebooter.getPaidStatus(base.localAvatar.doId) and slotId >= CannonDefenseGlobals.FREEBOOTER_MAX_AMMO_SLOTS: showLock = True SkillButton.SkillButton.__init__(self, skillId, callback, quantity, skillRank, showQuantity, showHelp, showRing, hotkey, name, showIcon, showLock, rechargeSkillId, assocAmmo) self.toggleFrame['image_scale'] = 0.55000000000000004 self.toolTipBox = None self.slotId = slotId self._initButtons() self.updateSkillId(skillId) def _initButtons(self): self.sellButtonModel = loader.loadModel('models/gui/pir_m_gui_can_buttonSell') self.sellButton = GuiButton(parent = self, image = (self.sellButtonModel.find('**/idle'), self.sellButtonModel.find('**/idle'), self.sellButtonModel.find('**/over')), image_scale = 1, scale = 0.40000000000000002, sortOrder = 100, pos = (0, 0, -0.125), command = self.onSellClick) self.sellButton.bind(DGG.ENTER, self.showToolTip) self.sellButton.bind(DGG.EXIT, self.hideToolTip) def updateSkillId(self, skillId): SkillButton.SkillButton.updateSkillId(self, skillId) if not hasattr(self, 'sellButton'): return None if skillId == InventoryType.DefenseCannonEmpty: self.sellButton['state'] = DGG.DISABLED self.sellButton.hide() if skillId == InventoryType.DefenseCannonEmpty: self.setShowIcon(False) else: self.sellButton['state'] = DGG.NORMAL self.sellButton.show() self.setShowIcon(True) def createToolTip(self): if self.toolTipBox: return None self.label = DirectLabel(parent = None, relief = None, text = PLocalizer.SellButton, text_align = TextNode.ALeft, text_scale = PiratesGuiGlobals.TextScaleLarge, text_fg = PiratesGuiGlobals.TextFG2, text_wordwrap = 12) height = -self.label.getHeight() width = self.label.getWidth() toolTipScale = 2.5 self.toolTipBox = None self.toolTipBox = BorderFrame(parent = self.sellButton, frameSize = (-0.01, width, height, 0.050000000000000003), scale = toolTipScale, pos = (-(width * toolTipScale * 0.5), 0, height * toolTipScale * 2.25), state = DGG.DISABLED) self.label.reparentTo(self.toolTipBox) def showToolTip(self, event): self.createToolTip() def hideToolTip(self, event): if self.toolTipBox: self.toolTipBox.destroy() self.toolTipBox = None def onSellClick(self): messenger.send('onSellClick', [ self.skillId])
def initializeTableInterface(self): self.levelUpIval = None self.swapCard = False self.cardSwapIndex = 0 self.swapDialog = None self.leaveDialog = None self.swapResultDialog = None self.timer = False self.timeout = False self.buttonArray = [] self.suitGeomArray = [] if not True: self.suitGeomArray.append(self.suitImage(0)) self.suitGeomArray.append(self.suitImage(1)) self.suitGeomArray.append(self.suitImage(2)) self.suitGeomArray.append(self.suitImage(3)) else: self.suitIcons = loader.loadModel('models/gui/suit_icons') if self.suitIcons: scale = 0.080000000000000002 icon = self.suitIcons.find('**/suit_icon_h') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_d') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_c') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_s') icon.setScale(scale) self.suitGeomArray.append(icon) else: self.suitGeomArray = [ None, None, None, None] x = -0.35999999999999999 y = 0.070000000000000007 x_increment = 0.23999999999999999 text = PLocalizer.TableLeave button = GuiButton(parent = self.menu, command = self.leaveAction, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ PlayingCardGlobals.Leave]) self.leaveButton = button self.buttonArray = self.buttonArray + [ button] button.show() text = PLocalizer.TableCancel button = GuiButton(parent = self.menu, command = self.cancelSelection, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ 0]) self.cancelButton = button self.buttonArray = self.buttonArray + [ button] button.hide() x = x + x_increment self.suit = 0 self.rank = 0 self.cardSwapIndex = 0 self.suitButtonArray = [] self.rankButtonArray = [] x = -0.35999999999999999 y = 0.17749999999999999 x_increment = 0.23999999999999999 suit = 0 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent = self.menu, command = self.cardSuitSelection, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ suit]) self.suitButtonArray = self.suitButtonArray + [ button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent = self.menu, command = self.cardSuitSelection, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ suit]) self.suitButtonArray = self.suitButtonArray + [ button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent = self.menu, command = self.cardSuitSelection, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ suit]) self.suitButtonArray = self.suitButtonArray + [ button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent = self.menu, command = self.cardSuitSelection, canReposition = True) self.setButtonSettings(button, (x, 0, y), text, [ suit]) self.suitButtonArray = self.suitButtonArray + [ button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 x = -0.35999999999999999 - 0.059999999999999998 y = 0.17749999999999999 x_increment = 0.12 rank = 0 text = PLocalizer.Card2 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card3 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card4 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card5 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card6 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card7 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card8 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card9 button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 x = -0.35999999999999999 - 0.059999999999999998 y = 0.070000000000000007 x_increment = 0.12 x = x + x_increment x = x + x_increment x = x + x_increment text = PLocalizer.CardT button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardJ button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardQ button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardK button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardA button = GuiButton(parent = self.menu, command = self.cardRankSelection, canReposition = True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [ rank]) self.rankButtonArray = self.rankButtonArray + [ button] x = x + x_increment rank = rank + 1
class AmmoSkillButton(SkillButton.SkillButton): def __init__(self, skillId, slotId, callback, quantity=0, skillRank=0, showQuantity=False, showHelp=False, showRing=False, hotkey=None, name='', showIcon=True, showLock=False, rechargeSkillId=False, assocAmmo=[]): if skillId in [ InventoryType.DefenseCannonRoundShot, InventoryType.DefenseCannonEmpty ]: showQuantity = False if not Freebooter.getPaidStatus( base.localAvatar.doId ) and slotId >= CannonDefenseGlobals.FREEBOOTER_MAX_AMMO_SLOTS: showLock = True SkillButton.SkillButton.__init__(self, skillId, callback, quantity, skillRank, showQuantity, showHelp, showRing, hotkey, name, showIcon, showLock, rechargeSkillId, assocAmmo) self.toggleFrame['image_scale'] = 0.55000000000000004 self.toolTipBox = None self.slotId = slotId self._initButtons() self.updateSkillId(skillId) def _initButtons(self): self.sellButtonModel = loader.loadModel( 'models/gui/pir_m_gui_can_buttonSell') self.sellButton = GuiButton( parent=self, image=(self.sellButtonModel.find('**/idle'), self.sellButtonModel.find('**/idle'), self.sellButtonModel.find('**/over')), image_scale=1, scale=0.40000000000000002, sortOrder=100, pos=(0, 0, -0.125), command=self.onSellClick) self.sellButton.bind(DGG.ENTER, self.showToolTip) self.sellButton.bind(DGG.EXIT, self.hideToolTip) def updateSkillId(self, skillId): SkillButton.SkillButton.updateSkillId(self, skillId) if not hasattr(self, 'sellButton'): return None if skillId == InventoryType.DefenseCannonEmpty: self.sellButton['state'] = DGG.DISABLED self.sellButton.hide() if skillId == InventoryType.DefenseCannonEmpty: self.setShowIcon(False) else: self.sellButton['state'] = DGG.NORMAL self.sellButton.show() self.setShowIcon(True) def createToolTip(self): if self.toolTipBox: return None self.label = DirectLabel(parent=None, relief=None, text=PLocalizer.SellButton, text_align=TextNode.ALeft, text_scale=PiratesGuiGlobals.TextScaleLarge, text_fg=PiratesGuiGlobals.TextFG2, text_wordwrap=12) height = -self.label.getHeight() width = self.label.getWidth() toolTipScale = 2.5 self.toolTipBox = None self.toolTipBox = BorderFrame(parent=self.sellButton, frameSize=(-0.01, width, height, 0.050000000000000003), scale=toolTipScale, pos=(-(width * toolTipScale * 0.5), 0, height * toolTipScale * 2.25), state=DGG.DISABLED) self.label.reparentTo(self.toolTipBox) def showToolTip(self, event): self.createToolTip() def hideToolTip(self, event): if self.toolTipBox: self.toolTipBox.destroy() self.toolTipBox = None def onSellClick(self): messenger.send('onSellClick', [self.skillId])
class ChestTray(GuiTray.GuiTray): WantClothingPage = base.config.GetBool('want-clothing-page', 0) if not base.config.GetBool('want-land-infamy', 0): pass WantTitlesPage = base.config.GetBool('want-sea-infamy', 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 destroy(self): self.showButtonsIval.pause() del self.showButtonsIval self.hideButtonsIval.pause() del self.hideButtonsIval self.buttonsParent.removeNode() del self.buttonsParent self.stickyButtonsParent.removeNode() del self.stickyButtonsParent for button in self.buttons: self.buttons[button].destroy() self.buttons[button] = None del self.buttons self.bagButton = None self.radarButton = None self.lookoutButton = None self.mapButton = None self.shipsButton = None self.titlesButton = None self.mainMenuButton = None self.socialButton = None self.levelButton = None self.chestButton = None self.questButton = None self.weaponButton = None loader.unloadSfx(self.openSfx) loader.unloadSfx(self.closeSfx) del self.openSfx del self.closeSfx GuiTray.GuiTray.destroy(self) def highlightButton(self, button): def changeButtonImage(button, image): button['image'] = image button['image0_color'] = self.buttonColors[0] button['image1_color'] = self.buttonColors[1] button['image2_color'] = self.buttonColors[2] button['image3_color'] = self.buttonColors[3] if self.currentButtonIn: changeButtonImage(self.buttons[self.currentButtonIn], self.buttonImage) self.currentButtonIn = button changeButtonImage(self.buttons[self.currentButtonIn], self.buttonImageIn) def togglePanel(self, message, args = None): if localAvatar.getInventory() == None: return None if message in self.highlightButtons: self.highlightButton(message) messenger.send(message, [ args]) def toggle(self): if not self.isHidden(): messenger.send(PiratesGlobals.SeaChestHotkey) if localAvatar.guiMgr.questPage: chestPanel = localAvatar.guiMgr.chestPanel if chestPanel.currPageIndex: currPage = chestPanel.pages[chestPanel.currPageIndex] def isOpen(self): return self.state def showButtons(self): if self.hideButtonsIval.isPlaying(): self.hideButtonsIval.finish() self.showButtonsIval.start() def hideButtons(self): if self.showButtonsIval.isPlaying(): self.showButtonsIval.finish() for button in self.buttons: self.buttons[button].hideDetails() self.hideButtonsIval.start() def slideOpen(self): if not self.state: self.openSfx.play() self.state = 1 self.chestButton['image'] = self.chestButtonOpen self.showButtons() if localAvatar.guiMgr.questPage: chestPanel = localAvatar.guiMgr.chestPanel if chestPanel.currPageIndex: currPage = chestPanel.pages[chestPanel.currPageIndex] def slideClose(self): if self.state: self.closeSfx.play() self.state = 0 self.chestButton['image'] = self.chestButtonClosed self.hideButtons() def buildShowHideButtonsIvals(self, includeSticky = True): showSequence = Sequence(Func(self.buttonsParent.show)) showParallel = Parallel(LerpPosInterval(self.buttonsParent, 0.20000000000000001, pos = Point3(0, 0, 0.14000000000000001), startPos = self.buttonsParent.getPos, blendType = 'easeOut')) if includeSticky: showSequence.append(Func(self.stickyButtonsParent.show)) showParallel.append(LerpPosInterval(self.stickyButtonsParent, 0.20000000000000001, pos = Point3(0, 0, 0.14000000000000001), startPos = self.stickyButtonsParent.getPos, blendType = 'easeOut')) showSequence.append(showParallel) self.showButtonsIval = showSequence hideParallel = Parallel(LerpPosInterval(self.buttonsParent, 0.20000000000000001, pos = Point3(0.20000000000000001, 0, 0.14000000000000001), startPos = self.buttonsParent.getPos, blendType = 'easeIn')) hideSequence = Sequence(hideParallel, Func(self.buttonsParent.hide)) if includeSticky: hideSequence.append(Func(self.stickyButtonsParent.hide)) hideParallel.append(LerpPosInterval(self.stickyButtonsParent, 0.20000000000000001, pos = Point3(0.20000000000000001, 0, 0.14000000000000001), startPos = self.stickyButtonsParent.getPos, blendType = 'easeIn')) hideSequence.append(hideParallel) self.hideButtonsIval = hideSequence def hideChestButton(self): self.chestButton.hide() def showChestButton(self): self.chestButton.show()
class MinimapShop(MinimapObject): __module__ = __name__ SORT = 2 SIGN_DICT = { 'blacksmith': '**/shopCoin_blacksmith', 'shipwright': '**/shopCoin_shipwright', 'gunsmith': '**/shopCoin_gunsmith', 'weapons': '**/shopCoin_gunsmith', 'tailor': '**/shopCoin_tailor', 'barber': '**/shopCoin_barber', 'jeweler': '**/shopCoin_jeweler', 'tattoo': '**/shopCoin_tattoo', 'voodoo': '**/shopCoin_voodoo', 'gypsy': '**/shopCoin_voodoo', 'tavern': '**/shopCoin_tavern', 'fishmaster': '**/shopCoin_fishing', 'cannonmaster': '**/shopCoin_cannon', 'stowaway': '**/shopCoin_stowaway', 'catalogrep': '**/shopCoin_catalog' } SIGNS = {} HELP_DICT = { 'blacksmith': PLocalizer.ShopBlacksmith, 'shipwright': PLocalizer.ShopShipwright, 'gunsmith': PLocalizer.ShopGunsmith, 'weapons': PLocalizer.ShopGunsmith, 'tailor': PLocalizer.ShopTailor, 'barber': PLocalizer.ShopBarber, 'jeweler': PLocalizer.ShopJewelry, 'tattoo': PLocalizer.ShopTattoo, 'voodoo': PLocalizer.ShopGypsy, 'gypsy': PLocalizer.ShopGypsy, 'tavern': PLocalizer.ShopTavern, 'fishmaster': PLocalizer.ShopFishmaster, 'cannonmaster': PLocalizer.ShopCannoneer, 'stowaway': PLocalizer.ShopStowaway, 'catalogrep': PLocalizer.ShopCatalogRep } @classmethod def loadSigns(cls): if not MinimapShop.SIGNS: coins = loader.loadModel('models/textureCards/shopCoins') for coin in coins.findAllMatches('**/shopCoin_*'): coin.setP(-90) coin.flattenStrong() for pattern, signName in MinimapShop.SIGN_DICT.iteritems(): MinimapShop.SIGNS[pattern] = coins.find(signName) @classmethod def getShopType(cls, shopString): for pattern in MinimapShop.SIGN_DICT: if pattern in shopString: return pattern return def __init__(self, uid, worldNode, shopType): self.loadSigns() worldNode.setHpr(0, 0, 0) MinimapObject.__init__(self, uid, worldNode, MinimapShop.SIGNS[shopType]) self.shopType = shopType self.button = None return def _addedToMap(self, map): self.mapGeom.setScale(aspect2d, 0.06) overlayNode = map.getOverlayNode() transform = self.mapGeom.getTransform(overlayNode) self.button = GuiButton(parent=overlayNode, state=DGG.NORMAL, image=self.mapGeom, pos=transform.getPos(), image_hpr=transform.getHpr(), image_scale=transform.getScale(), helpText=MinimapShop.HELP_DICT[self.shopType], helpPos=(-0.27, 0, 0.07), helpDelay=0, helpOpaque=True, sortOrder=MinimapShop.SORT) self.button.setAlphaScale(1, 1) self.mapGeom.detachNode() def _removedFromMap(self, map): if self.button: self.button.destroy() self.button = None return def _updateOnMap(self, map): MinimapObject._updateOnMap(self, map) if self.button: if base.localAvatar.guiMgr.invasionScoreboard or base.localAvatar.isInInvasion( ): self.button.hide() else: self.button.show()
class MinimapShop(MinimapObject): SORT = 2 SIGN_DICT = { 'blacksmith': '**/shopCoin_blacksmith', 'shipwright': '**/shopCoin_shipwright', 'gunsmith': '**/shopCoin_gunsmith', 'weapons': '**/shopCoin_gunsmith', 'tailor': '**/shopCoin_tailor', 'barber': '**/shopCoin_barber', 'jeweler': '**/shopCoin_jeweler', 'tattoo': '**/shopCoin_tattoo', 'voodoo': '**/shopCoin_voodoo', 'gypsy': '**/shopCoin_voodoo', 'tavern': '**/shopCoin_tavern', 'fishmaster': '**/shopCoin_fishing', 'cannonmaster': '**/shopCoin_cannon', 'stowaway': '**/shopCoin_stowaway', 'catalogrep': '**/shopCoin_catalog' } SIGNS = { } HELP_DICT = { 'blacksmith': PLocalizer.ShopBlacksmith, 'shipwright': PLocalizer.ShopShipwright, 'gunsmith': PLocalizer.ShopGunsmith, 'weapons': PLocalizer.ShopGunsmith, 'tailor': PLocalizer.ShopTailor, 'barber': PLocalizer.ShopBarber, 'jeweler': PLocalizer.ShopJewelry, 'tattoo': PLocalizer.ShopTattoo, 'voodoo': PLocalizer.ShopGypsy, 'gypsy': PLocalizer.ShopGypsy, 'tavern': PLocalizer.ShopTavern, 'fishmaster': PLocalizer.ShopFishmaster, 'cannonmaster': PLocalizer.ShopCannoneer, 'stowaway': PLocalizer.ShopStowaway, 'catalogrep': PLocalizer.ShopCatalogRep } def loadSigns(cls): if not MinimapShop.SIGNS: coins = loader.loadModel('models/textureCards/shopCoins') for coin in coins.findAllMatches('**/shopCoin_*'): coin.setP(-90) coin.flattenStrong() for (pattern, signName) in MinimapShop.SIGN_DICT.iteritems(): MinimapShop.SIGNS[pattern] = coins.find(signName) loadSigns = classmethod(loadSigns) def getShopType(cls, shopString): for pattern in MinimapShop.SIGN_DICT: if pattern in shopString: return pattern continue getShopType = classmethod(getShopType) def __init__(self, uid, worldNode, shopType): self.loadSigns() worldNode.setHpr(0, 0, 0) MinimapObject.__init__(self, uid, worldNode, MinimapShop.SIGNS[shopType]) self.shopType = shopType self.button = None def _addedToMap(self, map): self.mapGeom.setScale(aspect2d, 0.059999999999999998) overlayNode = map.getOverlayNode() transform = self.mapGeom.getTransform(overlayNode) self.button = GuiButton(parent = overlayNode, state = DGG.NORMAL, image = self.mapGeom, pos = transform.getPos(), image_hpr = transform.getHpr(), image_scale = transform.getScale(), helpText = MinimapShop.HELP_DICT[self.shopType], helpPos = (-0.27000000000000002, 0, 0.070000000000000007), helpDelay = 0, helpOpaque = True, sortOrder = MinimapShop.SORT) self.button.setAlphaScale(1, 1) self.mapGeom.detachNode() def _removedFromMap(self, map): if self.button: self.button.destroy() self.button = None def _updateOnMap(self, map): MinimapObject._updateOnMap(self, map) if self.button: if base.localAvatar.guiMgr.invasionScoreboard or base.localAvatar.isInInvasion(): self.button.hide() else: self.button.show()
class ChestTray(GuiTray.GuiTray): WantClothingPage = base.config.GetBool('want-clothing-page', 0) if not base.config.GetBool('want-land-infamy', 0): pass WantTitlesPage = base.config.GetBool('want-sea-infamy', 0) def __init__(self, parent, parentMgr, **kw): GuiTray.GuiTray.__init__(self, parent, 0.59999999999999998, 0.12, **None) 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.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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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), **None) 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 destroy(self): self.showButtonsIval.pause() del self.showButtonsIval self.hideButtonsIval.pause() del self.hideButtonsIval self.buttonsParent.removeNode() del self.buttonsParent self.stickyButtonsParent.removeNode() del self.stickyButtonsParent for button in self.buttons: self.buttons[button].destroy() self.buttons[button] = None del self.buttons self.bagButton = None self.radarButton = None self.lookoutButton = None self.mapButton = None self.shipsButton = None self.titlesButton = None self.mainMenuButton = None self.socialButton = None self.levelButton = None self.chestButton = None self.questButton = None self.weaponButton = None loader.unloadSfx(self.openSfx) loader.unloadSfx(self.closeSfx) del self.openSfx del self.closeSfx GuiTray.GuiTray.destroy(self) def highlightButton(self, button): def changeButtonImage(button, image): button['image'] = image button['image0_color'] = self.buttonColors[0] button['image1_color'] = self.buttonColors[1] button['image2_color'] = self.buttonColors[2] button['image3_color'] = self.buttonColors[3] if self.currentButtonIn: changeButtonImage(self.buttons[self.currentButtonIn], self.buttonImage) self.currentButtonIn = button changeButtonImage(self.buttons[self.currentButtonIn], self.buttonImageIn) def togglePanel(self, message, args=None): if localAvatar.getInventory() == None: return None if message in self.highlightButtons: self.highlightButton(message) messenger.send(message, [args]) def toggle(self): if not self.isHidden(): messenger.send(PiratesGlobals.SeaChestHotkey) if localAvatar.guiMgr.questPage: chestPanel = localAvatar.guiMgr.chestPanel if chestPanel.currPageIndex: currPage = chestPanel.pages[chestPanel.currPageIndex] def isOpen(self): return self.state def showButtons(self): if self.hideButtonsIval.isPlaying(): self.hideButtonsIval.finish() self.showButtonsIval.start() def hideButtons(self): if self.showButtonsIval.isPlaying(): self.showButtonsIval.finish() for button in self.buttons: self.buttons[button].hideDetails() self.hideButtonsIval.start() def slideOpen(self): if not self.state: self.openSfx.play() self.state = 1 self.chestButton['image'] = self.chestButtonOpen self.showButtons() if localAvatar.guiMgr.questPage: chestPanel = localAvatar.guiMgr.chestPanel if chestPanel.currPageIndex: currPage = chestPanel.pages[chestPanel.currPageIndex] def slideClose(self): if self.state: self.closeSfx.play() self.state = 0 self.chestButton['image'] = self.chestButtonClosed self.hideButtons() def buildShowHideButtonsIvals(self, includeSticky=True): showSequence = Sequence(Func(self.buttonsParent.show)) showParallel = Parallel( LerpPosInterval(self.buttonsParent, 0.20000000000000001, pos=Point3(0, 0, 0.14000000000000001), startPos=self.buttonsParent.getPos, blendType='easeOut')) if includeSticky: showSequence.append(Func(self.stickyButtonsParent.show)) showParallel.append( LerpPosInterval(self.stickyButtonsParent, 0.20000000000000001, pos=Point3(0, 0, 0.14000000000000001), startPos=self.stickyButtonsParent.getPos, blendType='easeOut')) showSequence.append(showParallel) self.showButtonsIval = showSequence hideParallel = Parallel( LerpPosInterval(self.buttonsParent, 0.20000000000000001, pos=Point3(0.20000000000000001, 0, 0.14000000000000001), startPos=self.buttonsParent.getPos, blendType='easeIn')) hideSequence = Sequence(hideParallel, Func(self.buttonsParent.hide)) if includeSticky: hideSequence.append(Func(self.stickyButtonsParent.hide)) hideParallel.append( LerpPosInterval(self.stickyButtonsParent, 0.20000000000000001, pos=Point3(0.20000000000000001, 0, 0.14000000000000001), startPos=self.stickyButtonsParent.getPos, blendType='easeIn')) hideSequence.append(hideParallel) self.hideButtonsIval = hideSequence def hideChestButton(self): self.chestButton.hide() def showChestButton(self): self.chestButton.show()
def initializeTableInterface(self): self.levelUpIval = None self.swapCard = False self.cardSwapIndex = 0 self.swapDialog = None self.leaveDialog = None self.swapResultDialog = None self.timer = False self.timeout = False self.buttonArray = [] self.suitGeomArray = [] if not True: self.suitGeomArray.append(self.suitImage(0)) self.suitGeomArray.append(self.suitImage(1)) self.suitGeomArray.append(self.suitImage(2)) self.suitGeomArray.append(self.suitImage(3)) else: self.suitIcons = loader.loadModel('models/gui/suit_icons') if self.suitIcons: scale = 0.08 icon = self.suitIcons.find('**/suit_icon_h') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_d') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_c') icon.setScale(scale) self.suitGeomArray.append(icon) icon = self.suitIcons.find('**/suit_icon_s') icon.setScale(scale) self.suitGeomArray.append(icon) else: self.suitGeomArray = [None, None, None, None] x = -0.36 y = 0.07 x_increment = 0.24 text = PLocalizer.TableLeave button = GuiButton(parent=self.menu, command=self.leaveAction, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [PlayingCardGlobals.Leave]) self.leaveButton = button self.buttonArray = self.buttonArray + [button] button.show() text = PLocalizer.TableCancel button = GuiButton(parent=self.menu, command=self.cancelSelection, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [0]) self.cancelButton = button self.buttonArray = self.buttonArray + [button] button.hide() x = x + x_increment self.suit = 0 self.rank = 0 self.cardSwapIndex = 0 self.suitButtonArray = [] self.rankButtonArray = [] x = -0.36 y = 0.1775 x_increment = 0.24 suit = 0 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent=self.menu, command=self.cardSuitSelection, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [suit]) self.suitButtonArray = self.suitButtonArray + [button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent=self.menu, command=self.cardSuitSelection, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [suit]) self.suitButtonArray = self.suitButtonArray + [button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent=self.menu, command=self.cardSuitSelection, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [suit]) self.suitButtonArray = self.suitButtonArray + [button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 text = PLocalizer.PlayingCardSuits[suit] button = GuiButton(parent=self.menu, command=self.cardSuitSelection, canReposition=True) self.setButtonSettings(button, (x, 0, y), text, [suit]) self.suitButtonArray = self.suitButtonArray + [button] geom = self.suitGeomArray[suit] button['geom'] = geom button.setGeom() x = x + x_increment suit = suit + 1 x = -0.36 - 0.06 y = 0.1775 x_increment = 0.12 rank = 0 text = PLocalizer.Card2 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card3 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card4 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card5 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card6 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card7 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card8 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.Card9 button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 x = -0.36 - 0.06 y = 0.07 x_increment = 0.12 x = x + x_increment x = x + x_increment x = x + x_increment text = PLocalizer.CardT button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardJ button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardQ button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardK button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 text = PLocalizer.CardA button = GuiButton(parent=self.menu, command=self.cardRankSelection, canReposition=True) self.setButtonSettingsHalfWidth(button, (x, 0, y), text, [rank]) self.rankButtonArray = self.rankButtonArray + [button] x = x + x_increment rank = rank + 1 return