def showRulesPanel(self, stage):
     if not self.messageHolder:
         self.messageHolder = aspect2d.attachNewNode('message')
         self.rulesPanel = TreasureMapRulesPanel.TreasureMapRulesPanel(
             PLocalizer.BlackPearlTMName, PLocalizer.BlackPearlStageOne,
             self.messageHolder)
     self.messageHolder.setPos(Vec3(0, 0, 0.85))
     instructions = self.stageInstructions[stage]
     self.rulesPanel.setInstructions(instructions)
     self.rulesPanel.show()
 def sendUpdateMessage(self, stage):
     if not self.messageHolder:
         self.messageHolder = aspect2d.attachNewNode('message')
         self.updatePanel = TreasureMapRulesPanel.TreasureMapRulesPanel(
             PLocalizer.QuestPropUpdateTitles.get(self.uniqueId), '',
             self.messageHolder)
     self.messageHolder.setPos(Vec3(0, 0, 0.85))
     instructions = PLocalizer.QuestPropUpdateMessages.get(
         self.uniqueId)[stage]
     self.updatePanel.setInstructions(instructions)
     self.updatePanel.show()
 def displayCutsceneMessage(self, doId, messageNum):
     if localAvatar.doId == doId:
         if not self.messageHolder or messageNum:
             if self.messageHolder:
                 self.messageHolder.removeNode()
             self.messageHolder = render2d.attachNewNode('message')
             self.rulesPanel = TreasureMapRulesPanel.TreasureMapRulesPanel(
                 PLocalizer.BlackPearlTMName,
                 self.stageInstructions[8 - messageNum],
                 self.messageHolder,
                 duration=45.0)
             self.messageHolder.setPos(Vec3(0, 0, 1.0))
             self.messageHolder.setScale(Vec3(0.75, 1, 1))
             self.rulesPanel.show()