Пример #1
0
class ObjectivesPanel(DirectFrame):
    __module__ = __name__

    def __init__(self, name, holder=None, mouseFade=False):
        DirectFrame.__init__(self, relief=None, frameSize=(0.0, PiratesGuiGlobals.ObjectivesPanelWidth, 0.0, PiratesGuiGlobals.ObjectivesPanelHeight))
        self.initialiseoptions(ObjectivesPanel)
        self.childFrame = GuiPanel(name, PiratesGuiGlobals.ObjectivesPanelWidth, PiratesGuiGlobals.ObjectivesPanelHeight)
        self.childFrame.initialiseoptions(GuiPanel)
        self.childFrame.reparentTo(self)
        self.list = ListFrame(PiratesGuiGlobals.ObjectivesPageWidth, PiratesGuiGlobals.ObjectivesPageHeight, name, holder, hideAll=False)
        self.list.setup()
        self.list.reparentTo(self.childFrame)
        self.childFrame.closeButton.hide()
        if mouseFade:
            self.childFrame.setMouseFade(True)
        else:
            self.childFrame.hide()
        return

    def destroy(self):
        DirectFrame.destroy(self)
        self.list.destroy()

    def cleanup(self):
        self.list.cleanup()
class ObjectivesPanel(DirectFrame):
    
    def __init__(self, name, holder = None, mouseFade = False):
        DirectFrame.__init__(self, relief = None, frameSize = (0.0, PiratesGuiGlobals.ObjectivesPanelWidth, 0.0, PiratesGuiGlobals.ObjectivesPanelHeight))
        self.initialiseoptions(ObjectivesPanel)
        self.childFrame = GuiPanel(name, PiratesGuiGlobals.ObjectivesPanelWidth, PiratesGuiGlobals.ObjectivesPanelHeight)
        self.childFrame.initialiseoptions(GuiPanel)
        self.childFrame.reparentTo(self)
        self.list = ListFrame(PiratesGuiGlobals.ObjectivesPageWidth, PiratesGuiGlobals.ObjectivesPageHeight, name, holder, hideAll = False)
        self.list.setup()
        self.list.reparentTo(self.childFrame)
        self.childFrame.closeButton.hide()
        if mouseFade:
            self.childFrame.setMouseFade(True)
        else:
            self.childFrame.hide()

    
    def destroy(self):
        DirectFrame.destroy(self)
        self.list.destroy()

    
    def cleanup(self):
        self.list.cleanup()
class PVPPanel(BorderFrame.BorderFrame):
    
    def __init__(self, name, holder = None):
        w = PiratesGuiGlobals.PVPPanelWidth
        h = PiratesGuiGlobals.PVPPanelHeight
        BorderFrame.BorderFrame.__init__(self, relief = None, frameSize = (0.0, w, 0.0, h), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75))
        self.secondLayer = BorderFrame.BorderFrame(parent = self, relief = None, frameSize = (0.0, w, 0.0, h), modelName = 'pir_m_gui_frm_subframe', imageColorScale = VBase4(0.75, 0.75, 0.90000000000000002, 0.75))
        self.initialiseoptions(PVPPanel)
        if holder:
            self['frameSize'] = (0.0, w, 0.0 - len(holder.getItemList()) * 0.050000000000000003, h)
            self.secondLayer['frameSize'] = (0.0, w, 0.0 - len(holder.getItemList()) * 0.050000000000000003, h)
        
        self.list = ListFrame(PiratesGuiGlobals.PVPPageWidth, None, name, holder, frameColor = (0, 0, 0, 0))
        self.list.setup()
        self.list.reparentTo(self)
        self.list.setPos(0.0050000000000000001, 0.20000000000000001, 0.0 - len(holder.getItemList()) * 0.050000000000000003)
        self.renownDisplay = None
        if base.config.GetBool('want-land-infamy', 0) and not (self.renownDisplay):
            self.renownDisplay = PVPRankGui.PVPRankGui(parent = base.a2dBottomRight, displayType = PVPRankGui.LAND_RENOWN_DISPLAY)
            self.renownDisplay.setPos(0.0, 0.0, 0.0)
        
        self.pvpTeamGraphic = None

    
    def destroy(self):
        if self.list:
            self.list.destroy()
            self.list = None
        
        if self.renownDisplay:
            self.renownDisplay.destroy()
            self.renownDisplay = None
        
        if self.secondLayer:
            self.secondLayer.destroy()
            self.secondLayer = None
        
        if self.pvpTeamGraphic:
            self.pvpTeamGraphic.removeNode()
            self.pvpTeamGraphic = None
        
        BorderFrame.BorderFrame.destroy(self)

    
    def cleanup(self):
        self.list.cleanup()

    
    def show(self, team):
        DirectFrame.show(self)
        self.setTeamGraphic(team)
        if self.renownDisplay:
            self.renownDisplay.show()
        

    
    def hide(self):
        DirectFrame.hide(self)
        if self.renownDisplay:
            self.renownDisplay.hide()
        

    
    def setTeamGraphic(self, team):
        if self.pvpTeamGraphic:
            self.pvpTeamGraphic.removeNode()
            self.pvpTeamGraphic = None
        
        if team > 0:
            self.pvpTeamGraphic = Beacon.getBeaconModel()
            self.pvpTeamGraphic.reparentTo(self)
            self.pvpTeamGraphic.setColor(PVPGlobals.getTeamColor(team))
            self.pvpTeamGraphic.setScale(0.23000000000000001)
            self.pvpTeamGraphic.setPos(0.13, 0, 0.13)
class PVPPanel(BorderFrame.BorderFrame):
    def __init__(self, name, holder=None):
        w = PiratesGuiGlobals.PVPPanelWidth
        h = PiratesGuiGlobals.PVPPanelHeight
        BorderFrame.BorderFrame.__init__(self,
                                         relief=None,
                                         frameSize=(0.0, w, 0.0, h),
                                         modelName='pir_m_gui_frm_subframe',
                                         imageColorScale=VBase4(
                                             0.75, 0.75, 0.90000000000000002,
                                             0.75))
        self.secondLayer = BorderFrame.BorderFrame(
            parent=self,
            relief=None,
            frameSize=(0.0, w, 0.0, h),
            modelName='pir_m_gui_frm_subframe',
            imageColorScale=VBase4(0.75, 0.75, 0.90000000000000002, 0.75))
        self.initialiseoptions(PVPPanel)
        if holder:
            self['frameSize'] = (
                0.0, w, 0.0 - len(holder.getItemList()) * 0.050000000000000003,
                h)
            self.secondLayer['frameSize'] = (
                0.0, w, 0.0 - len(holder.getItemList()) * 0.050000000000000003,
                h)

        self.list = ListFrame(PiratesGuiGlobals.PVPPageWidth,
                              None,
                              name,
                              holder,
                              frameColor=(0, 0, 0, 0))
        self.list.setup()
        self.list.reparentTo(self)
        self.list.setPos(
            0.0050000000000000001, 0.20000000000000001,
            0.0 - len(holder.getItemList()) * 0.050000000000000003)
        self.renownDisplay = None
        if base.config.GetBool('want-land-infamy',
                               0) and not (self.renownDisplay):
            self.renownDisplay = PVPRankGui.PVPRankGui(
                parent=base.a2dBottomRight,
                displayType=PVPRankGui.LAND_RENOWN_DISPLAY)
            self.renownDisplay.setPos(0.0, 0.0, 0.0)

        self.pvpTeamGraphic = None

    def destroy(self):
        if self.list:
            self.list.destroy()
            self.list = None

        if self.renownDisplay:
            self.renownDisplay.destroy()
            self.renownDisplay = None

        if self.secondLayer:
            self.secondLayer.destroy()
            self.secondLayer = None

        if self.pvpTeamGraphic:
            self.pvpTeamGraphic.removeNode()
            self.pvpTeamGraphic = None

        BorderFrame.BorderFrame.destroy(self)

    def cleanup(self):
        self.list.cleanup()

    def show(self, team):
        DirectFrame.show(self)
        self.setTeamGraphic(team)
        if self.renownDisplay:
            self.renownDisplay.show()

    def hide(self):
        DirectFrame.hide(self)
        if self.renownDisplay:
            self.renownDisplay.hide()

    def setTeamGraphic(self, team):
        if self.pvpTeamGraphic:
            self.pvpTeamGraphic.removeNode()
            self.pvpTeamGraphic = None

        if team > 0:
            self.pvpTeamGraphic = Beacon.getBeaconModel()
            self.pvpTeamGraphic.reparentTo(self)
            self.pvpTeamGraphic.setColor(PVPGlobals.getTeamColor(team))
            self.pvpTeamGraphic.setScale(0.23000000000000001)
            self.pvpTeamGraphic.setPos(0.13, 0, 0.13)