class PVPCompletePanel(BorderFrame): SUMMARY_PAGE = 1 DETAILS_PAGE = 2 def __init__(self, name, pvp): self.width = PiratesGuiGlobals.PVPCompletePanelWidth self.height = PiratesGuiGlobals.PVPCompletePanelHeight BorderFrame.__init__(self, frameSize = (self.width * 0.14999999999999999, self.width * 0.84999999999999998, self.height * 0.81999999999999995, self.height), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.94999999999999996, 0.75)) self.secondLayer = BorderFrame(parent = self, relief = None, frameSize = (self.width * 0.14999999999999999, self.width * 0.84999999999999998, self.height * 0.81999999999999995, self.height), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.initialiseoptions(PVPCompletePanel) self.endButton = GuiButton(parent = self, text = PLocalizer.PVPExit, command = pvp.requestPVPLeave, pos = (1.25, 0, 0.10000000000000001), image = GuiButton.redGenericButton, image_scale = 0.59999999999999998) self.endButton.setBin('gui-popup', 0) self.name = name self.title = DirectLabel(parent = self, relief = None, text = name, text_align = TextNode.ACenter, text_scale = 0.070000000000000007, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (1.25, 0, 1.6200000000000001)) if pvp.hasTeams(): team1Score = '0' team2Score = '0' for stat in pvp.scoreboardHolder.getItemList(): if stat['Team'] == 1: team1Score = stat['Score'] continue if stat['Team'] == 2: team2Score = stat['Score'] continue self.team1ScoreLabel = DirectLabel(parent = self, relief = None, text = PLocalizer.PVPTeamScore % (1, team1Score), text_align = TextNode.ACenter, text_scale = 0.040000000000000001, text_fg = PVPGlobals.getTeamColor(1), text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (1.05, 0, 1.55)) self.team2ScoreLabel = DirectLabel(parent = self, relief = None, text = PLocalizer.PVPTeamScore % (2, team2Score), text_align = TextNode.ACenter, text_scale = 0.040000000000000001, text_fg = PVPGlobals.getTeamColor(2), text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (1.45, 0, 1.55)) self.outcome = DirectLabel(parent = self, relief = None, text = '', text_align = TextNode.ACenter, text_scale = 0.059999999999999998, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, textMayChange = 1, pos = (1.25, 0, 1.45)) if pvp.hasTeams(): if team1Score > team2Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(1) elif team2Score > team1Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(2) self.borderTwo = BorderFrame(parent = self, relief = None, frameSize = (self.width * 0.14999999999999999, self.width * 0.84999999999999998, 0, self.height * 0.80000000000000004), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwoSecondLayer = BorderFrame(parent = self.borderTwo, relief = None, frameSize = (self.width * 0.14999999999999999, self.width * 0.84999999999999998, 0, self.height * 0.80000000000000004), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.two = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.0, PiratesGuiGlobals.PVPCompletePageHeight, pvp.statsHolder, 0, sortOrder = 2) self.two.reparentTo(self.borderTwo) self.two.setPos(0.45000000000000001, 0, -0.14999999999999999) self.two.setup() self.game = pvp def setOutcome(self, outcome): self.outcome['text'] = outcome def destroy(self): self.borderTwoSecondLayer.destroy() self.borderTwoSecondLayer = None self.borderTwo.destroy() self.borderTwo = None self.two.destroy() self.two = None self.secondLayer.destroy() self.secondLater = None self.game = None BorderFrame.destroy(self)
def __init__(self, holder): pvpIcons = loader.loadModel('models/textureCards/pvp_arrow') self.holder = holder self.borderOne = BorderFrame.BorderFrame(relief = None, frameSize = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderOneSecondLayer = BorderFrame.BorderFrame(parent = self.borderOne, relief = None, frameSize = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) iconOne = DirectFrame(parent = self.borderOne, relief = None, image = pvpIcons.find('**/pir_t_gui_frm_pvpFrench'), image_scale = 0.20000000000000001, image_pos = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.34999999999999998, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45000000000000001)) self.one = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight, holder, 1, sortOrder = 2) self.borderOne.setPos(-0.625, 0, -0.29999999999999999) self.one.setPos(-1.05, 0, -1.1000000000000001) self.borderOne.hide() self.one.hide() self.borderTwo = BorderFrame.BorderFrame(relief = None, frameSize = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwoSecondLayer = BorderFrame.BorderFrame(parent = self.borderTwo, relief = None, frameSize = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwo.setPos(-0.625 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -0.29999999999999999) iconTwo = DirectFrame(parent = self.borderTwo, relief = None, image = pvpIcons.find('**/pir_t_gui_frm_pvpSpanish'), image_scale = 0.20000000000000001, image_pos = (-(PiratesGuiGlobals.ScorePanelWidth) * 0.34999999999999998, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45000000000000001)) self.two = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight, holder, 2, sortOrder = 2) self.two.setPos(-1.05 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -1.1000000000000001) self.borderTwo.hide() self.two.hide() self.accept(self.holder.getItemChangeMsg(), self._updateBorders)
def __init__(self, holder): pvpIcons = loader.loadModel('models/textureCards/pvp_arrow') self.holder = holder hasTeams = holder.hasTeams() self.borderOne = BorderFrame.BorderFrame(relief = None, frameSize = (-(PiratesGuiGlobals.PVPCompletePageWidth) * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageWidth * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.10000000000000001 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(1)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderOneSecondLayer = BorderFrame.BorderFrame(parent = self.borderOne, relief = None, text = '', text_scale = 0.074999999999999997, text_fg = PVPGlobals.getTeamColor(1), text_pos = (-0.65000000000000002, 0.64000000000000001), frameSize = (-(PiratesGuiGlobals.PVPCompletePageWidth) * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageWidth * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.10000000000000001 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(1)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderOne.setPos(0.0625, 0, -0.10000000000000001) if hasTeams: self.borderOneSecondLayer['text'] = PLocalizer.PVPTeamName % 1 self.one = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.2, PiratesGuiGlobals.PVPCompletePageHeight, holder, 1, sortOrder = 2) self.one.setPos(-0.5, 0, -0.84999999999999998) else: self.one = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.0, PiratesGuiGlobals.PVPCompletePageHeight, holder, 1, sortOrder = 2) self.one.setPos(-0.73999999999999999, 0, -0.84999999999999998) self.borderOne.hide() self.one.hide() if hasTeams: self.borderTwo = BorderFrame.BorderFrame(relief = None, frameSize = (-(PiratesGuiGlobals.PVPCompletePageWidth) * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageWidth * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.10000000000000001 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(2)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwoSecondLayer = BorderFrame.BorderFrame(parent = self.borderTwo, relief = None, text = PLocalizer.PVPTeamName % 2, text_scale = 0.074999999999999997, text_fg = PVPGlobals.getTeamColor(2), text_pos = (-0.65000000000000002, 0.64000000000000001), frameSize = (-(PiratesGuiGlobals.PVPCompletePageWidth) * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageWidth * 0.33000000000000002, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.10000000000000001 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(2)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.two = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.2, PiratesGuiGlobals.PVPCompletePageHeight, holder, 2, sortOrder = 2) self.borderTwo.setPos(0.0625, 0, -0.25 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(1))) self.two.setPos(-0.5, 0, -1.0 - (PiratesGuiGlobals.TMCompletePageHeight / 16.0) * len(holder.getItemList(1))) self.borderTwo.hide() self.two.hide() else: self.borderTwo = None self.two = None
def __init__(self, name, pvp): self.width = PiratesGuiGlobals.PVPCompletePanelWidth self.height = PiratesGuiGlobals.PVPCompletePanelHeight BorderFrame.__init__(self, frameSize=(self.width * 0.14999999999999999, self.width * 0.84999999999999998, self.height * 0.81999999999999995, self.height), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.94999999999999996, 0.75)) self.secondLayer = BorderFrame( parent=self, relief=None, frameSize=(self.width * 0.14999999999999999, self.width * 0.84999999999999998, self.height * 0.81999999999999995, self.height), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.initialiseoptions(PVPCompletePanel) self.endButton = GuiButton(parent=self, text=PLocalizer.PVPExit, command=pvp.requestPVPLeave, pos=(1.25, 0, 0.10000000000000001), image=GuiButton.redGenericButton, image_scale=0.59999999999999998) self.endButton.setBin('gui-popup', 0) self.name = name self.title = DirectLabel(parent=self, relief=None, text=name, text_align=TextNode.ACenter, text_scale=0.070000000000000007, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.25, 0, 1.6200000000000001)) if pvp.hasTeams(): team1Score = '0' team2Score = '0' for stat in pvp.scoreboardHolder.getItemList(): if stat['Team'] == 1: team1Score = stat['Score'] continue if stat['Team'] == 2: team2Score = stat['Score'] continue self.team1ScoreLabel = DirectLabel( parent=self, relief=None, text=PLocalizer.PVPTeamScore % (1, team1Score), text_align=TextNode.ACenter, text_scale=0.040000000000000001, text_fg=PVPGlobals.getTeamColor(1), text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.05, 0, 1.55)) self.team2ScoreLabel = DirectLabel( parent=self, relief=None, text=PLocalizer.PVPTeamScore % (2, team2Score), text_align=TextNode.ACenter, text_scale=0.040000000000000001, text_fg=PVPGlobals.getTeamColor(2), text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.45, 0, 1.55)) self.outcome = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ACenter, text_scale=0.059999999999999998, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.25, 0, 1.45)) if pvp.hasTeams(): if team1Score > team2Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(1) elif team2Score > team1Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(2) self.borderTwo = BorderFrame( parent=self, relief=None, frameSize=(self.width * 0.14999999999999999, self.width * 0.84999999999999998, 0, self.height * 0.80000000000000004), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwoSecondLayer = BorderFrame( parent=self.borderTwo, relief=None, frameSize=(self.width * 0.14999999999999999, self.width * 0.84999999999999998, 0, self.height * 0.80000000000000004), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.two = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.0, PiratesGuiGlobals.PVPCompletePageHeight, pvp.statsHolder, 0, sortOrder=2) self.two.reparentTo(self.borderTwo) self.two.setPos(0.45000000000000001, 0, -0.14999999999999999) self.two.setup() self.game = pvp
def __init__(self, holder): pvpIcons = loader.loadModel('models/textureCards/pvp_arrow') self.holder = holder self.borderOne = BorderFrame.BorderFrame( relief=None, frameSize=(-PiratesGuiGlobals.ScorePanelWidth * 0.4, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.2, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderOneSecondLayer = BorderFrame.BorderFrame( parent=self.borderOne, relief=None, frameSize=(-PiratesGuiGlobals.ScorePanelWidth * 0.4, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.2, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) iconOne = DirectFrame( parent=self.borderOne, relief=None, image=pvpIcons.find('**/pir_t_gui_frm_pvpFrench'), image_scale=0.2, image_pos=(-PiratesGuiGlobals.ScorePanelWidth * 0.35, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45)) self.one = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.2, PiratesGuiGlobals.ScorePanelHeight, holder, 1, sortOrder=2) self.borderOne.setPos(-0.625, 0, -0.3) self.one.setPos(-1.05, 0, -1.1) self.borderOne.hide() self.one.hide() self.borderTwo = BorderFrame.BorderFrame( relief=None, frameSize=(-PiratesGuiGlobals.ScorePanelWidth * 0.4, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.2, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderTwoSecondLayer = BorderFrame.BorderFrame( parent=self.borderTwo, relief=None, frameSize=(-PiratesGuiGlobals.ScorePanelWidth * 0.4, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.2, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderTwo.setPos( -0.625 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -0.3) iconTwo = DirectFrame( parent=self.borderTwo, relief=None, image=pvpIcons.find('**/pir_t_gui_frm_pvpSpanish'), image_scale=0.2, image_pos=(-PiratesGuiGlobals.ScorePanelWidth * 0.35, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45)) self.two = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.2, PiratesGuiGlobals.ScorePanelHeight, holder, 2, sortOrder=2) self.two.setPos(-1.05 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -1.1) self.borderTwo.hide() self.two.hide() self.accept(self.holder.getItemChangeMsg(), self._updateBorders) return
class SiegeBoard(DirectObject): def __init__(self, holder): pvpIcons = loader.loadModel('models/textureCards/pvp_arrow') self.holder = holder self.borderOne = BorderFrame.BorderFrame( relief=None, frameSize=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderOneSecondLayer = BorderFrame.BorderFrame( parent=self.borderOne, relief=None, frameSize=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) iconOne = DirectFrame( parent=self.borderOne, relief=None, image=pvpIcons.find('**/pir_t_gui_frm_pvpFrench'), image_scale=0.20000000000000001, image_pos=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.34999999999999998, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45000000000000001)) self.one = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight, holder, 1, sortOrder=2) self.borderOne.setPos(-0.625, 0, -0.29999999999999999) self.one.setPos(-1.05, 0, -1.1000000000000001) self.borderOne.hide() self.one.hide() self.borderTwo = BorderFrame.BorderFrame( relief=None, frameSize=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwoSecondLayer = BorderFrame.BorderFrame( parent=self.borderTwo, relief=None, frameSize=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75)) self.borderTwo.setPos( -0.625 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -0.29999999999999999) iconTwo = DirectFrame( parent=self.borderTwo, relief=None, image=pvpIcons.find('**/pir_t_gui_frm_pvpSpanish'), image_scale=0.20000000000000001, image_pos=(-(PiratesGuiGlobals.ScorePanelWidth) * 0.34999999999999998, 0, PiratesGuiGlobals.ScorePanelHeight * 0.45000000000000001)) self.two = ScoreFrame(PiratesGuiGlobals.ScorePanelWidth - 0.20000000000000001, PiratesGuiGlobals.ScorePanelHeight, holder, 2, sortOrder=2) self.two.setPos(-1.05 + PiratesGuiGlobals.ScorePanelWidth + 0.01, 0, -1.1000000000000001) self.borderTwo.hide() self.two.hide() self.accept(self.holder.getItemChangeMsg(), self._updateBorders) def hide(self): self.borderOne.hide() self.one.hide() self.borderTwo.hide() self.two.hide() def show(self): self.borderOne.show() self.one.show() self.borderTwo.show() self.two.show() def destroy(self): self.ignore(self.holder.getItemChangeMsg()) self.holder = None self.borderOne.hide() self.one.hide() self.borderTwo.hide() self.two.hide() self.borderOne.destroy() self.borderOne = None self.borderOneSecondLayer.destroy() self.borderOneSecondLayer = None self.one.destroy() self.one = None self.borderTwo.destroy() self.borderTwo = None self.borderTwoSecondLayer.destroy() self.borderTwoSecondLayer = None self.two.destroy() self.two = None def _updateBorders(self): self.borderOne['frameSize'] = ( -(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001 - (len(self.holder.getItemList(1)) - 1) * 0.10000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5) self.borderOneSecondLayer['frameSize'] = ( -(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001 - (len(self.holder.getItemList(1)) - 1) * 0.10000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5) self.borderTwo['frameSize'] = ( -(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001 - (len(self.holder.getItemList(2)) - 1) * 0.10000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5) self.borderTwoSecondLayer['frameSize'] = ( -(PiratesGuiGlobals.ScorePanelWidth) * 0.40000000000000002, PiratesGuiGlobals.ScorePanelWidth * 0.5, PiratesGuiGlobals.ScorePanelHeight * 0.5 - 0.20000000000000001 - (len(self.holder.getItemList(2)) - 1) * 0.10000000000000001, PiratesGuiGlobals.ScorePanelHeight * 0.5)
class PVPCompletePanel(BorderFrame): SUMMARY_PAGE = 1 DETAILS_PAGE = 2 def __init__(self, name, pvp): self.width = PiratesGuiGlobals.PVPCompletePanelWidth self.height = PiratesGuiGlobals.PVPCompletePanelHeight BorderFrame.__init__(self, frameSize=(self.width * 0.15, self.width * 0.85, self.height * 0.82, self.height), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.95, 0.75)) self.secondLayer = BorderFrame( parent=self, relief=None, frameSize=(self.width * 0.15, self.width * 0.85, self.height * 0.82, self.height), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.initialiseoptions(PVPCompletePanel) self.endButton = GuiButton(parent=self, text=PLocalizer.PVPExit, command=pvp.requestPVPLeave, pos=(1.25, 0, 0.1), image=GuiButton.redGenericButton, image_scale=0.6) self.endButton.setBin('gui-popup', 0) self.name = name self.title = DirectLabel(parent=self, relief=None, text=name, text_align=TextNode.ACenter, text_scale=0.07, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.25, 0, 1.62)) if pvp.hasTeams(): team1Score = '0' team2Score = '0' for stat in pvp.scoreboardHolder.getItemList(): if stat['Team'] == 1: team1Score = stat['Score'] elif stat['Team'] == 2: team2Score = stat['Score'] self.team1ScoreLabel = DirectLabel( parent=self, relief=None, text=PLocalizer.PVPTeamScore % (1, team1Score), text_align=TextNode.ACenter, text_scale=0.04, text_fg=PVPGlobals.getTeamColor(1), text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.05, 0, 1.55)) self.team2ScoreLabel = DirectLabel( parent=self, relief=None, text=PLocalizer.PVPTeamScore % (2, team2Score), text_align=TextNode.ACenter, text_scale=0.04, text_fg=PVPGlobals.getTeamColor(2), text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.45, 0, 1.55)) self.outcome = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ACenter, text_scale=0.06, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, textMayChange=1, pos=(1.25, 0, 1.45)) if pvp.hasTeams(): if team1Score > team2Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(1) elif team2Score > team1Score: self.outcome['text_fg'] = PVPGlobals.getTeamColor(2) self.borderTwo = BorderFrame( parent=self, relief=None, frameSize=(self.width * 0.15, self.width * 0.85, 0, self.height * 0.8), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderTwoSecondLayer = BorderFrame( parent=self.borderTwo, relief=None, frameSize=(self.width * 0.15, self.width * 0.85, 0, self.height * 0.8), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.two = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.0, PiratesGuiGlobals.PVPCompletePageHeight, pvp.statsHolder, 0, sortOrder=2) self.two.reparentTo(self.borderTwo) self.two.setPos(0.45, 0, -0.15) self.two.setup() self.game = pvp return def setOutcome(self, outcome): self.outcome['text'] = outcome def destroy(self): self.borderTwoSecondLayer.destroy() self.borderTwoSecondLayer = None self.borderTwo.destroy() self.borderTwo = None self.two.destroy() self.two = None self.secondLayer.destroy() self.secondLater = None self.game = None BorderFrame.destroy(self) return
class PVPBoard(DirectObject): def __init__(self, holder): pvpIcons = loader.loadModel('models/textureCards/pvp_arrow') self.holder = holder hasTeams = holder.hasTeams() self.borderOne = BorderFrame.BorderFrame( relief=None, frameSize=(-PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.1 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(1)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderOneSecondLayer = BorderFrame.BorderFrame( parent=self.borderOne, relief=None, text='', text_scale=0.075, text_fg=PVPGlobals.getTeamColor(1), text_pos=(-0.65, 0.64), frameSize=(-PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.1 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(1)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderOne.setPos(0.0625, 0, -0.1) if hasTeams: self.borderOneSecondLayer['text'] = PLocalizer.PVPTeamName % 1 self.one = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.2, PiratesGuiGlobals.PVPCompletePageHeight, holder, 1, sortOrder=2) self.one.setPos(-0.5, 0, -0.85) else: self.one = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.0, PiratesGuiGlobals.PVPCompletePageHeight, holder, 1, sortOrder=2) self.one.setPos(-0.74, 0, -0.85) self.borderOne.hide() self.one.hide() if hasTeams: self.borderTwo = BorderFrame.BorderFrame( relief=None, frameSize=(-PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.1 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(2)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.borderTwoSecondLayer = BorderFrame.BorderFrame( parent=self.borderTwo, relief=None, text=PLocalizer.PVPTeamName % 2, text_scale=0.075, text_fg=PVPGlobals.getTeamColor(2), text_pos=(-0.65, 0.64), frameSize=(-PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageWidth * 0.33, PiratesGuiGlobals.PVPCompletePageHeight * 0.5 - 0.1 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(2)), PiratesGuiGlobals.PVPCompletePageHeight * 0.5), modelName='pir_m_gui_frm_subframe', imageColorScale=VBase4(0.75, 0.75, 0.9, 0.75)) self.two = ScoreFrame(PiratesGuiGlobals.PVPCompletePageWidth - 1.2, PiratesGuiGlobals.PVPCompletePageHeight, holder, 2, sortOrder=2) self.borderTwo.setPos( 0.0625, 0, -0.25 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(1))) self.two.setPos( -0.5, 0, -1.0 - PiratesGuiGlobals.TMCompletePageHeight / 16.0 * len(holder.getItemList(1))) self.borderTwo.hide() self.two.hide() else: self.borderTwo = None self.two = None return def hide(self): self.borderOne.hide() self.one.hide() if self.borderTwo: self.borderTwo.hide() if self.two: self.two.hide() def show(self): self.borderOne.show() self.one.show() if self.borderTwo: self.borderTwo.show() if self.two: self.two.show() def destroy(self): self.holder = None self.borderOne.destroy() self.borderOne = None self.borderOneSecondLayer.destroy() self.borderOneSecondLayer = None self.one.destroy() self.one = None if self.borderTwo: self.borderTwo.destroy() self.borderTwo = None self.borderTwoSecondLayer.destroy() self.borderTwoSecondLayer = None if self.two: self.two.destroy() self.two = None return