def __init__(self): ChatManagerV2.ChatManagerV2.__init__(self) self.warningDialog = None self.unpaidWarningDialog = None self.preferredMode = 'All' self.lastPreferred = 'All' self.whiteListActive = True self.active = False self.lastWhisper = None self.whiteListEnabled = True self.openChatEnabled = base.cr.accountDetailRecord.canOpenChatAndNotGetBooted( ) self.toggleEnabled = self.whiteListEnabled and self.openChatEnabled self.noChat = not (self.whiteListEnabled or self.openChatEnabled) self.whiteListEntry = PChatInputWhiteList(text_scale=0.035, frameSize=(-0.006, 3.2, -0.015, 0.036)) self.whiteListScroller = DirectEntryScroll(entry=self.whiteListEntry, clipSize=(-0.006, 0.684, -0.015, 0.036)) if self.openChatEnabled: self.whiteListEntry.alwaysSubmit = True self.speedEntry = PChatInputSpeedChat() self.emoteEntry = PChatInputEmote() self.chatPanel = ChatPanel.ChatPanel(self, self.whiteListScroller) if self.whiteListEnabled: self.whiteListActive = True self.whiteListEntry.requestMode(self.preferredMode) elif self.noChat: self.whiteListEntry.requestMode('Off') self.deactivateChat() return
def __init__(self): ChatManagerV2.ChatManagerV2.__init__(self) self.warningDialog = None self.unpaidWarningDialog = None self.preferredMode = 'All' self.lastPreferred = 'All' self.whiteListActive = True self.active = False self.lastWhisper = None self.whiteListEnabled = True self.openChatEnabled = base.cr.accountDetailRecord.canOpenChatAndNotGetBooted() if self.whiteListEnabled: pass self.toggleEnabled = self.openChatEnabled if not self.whiteListEnabled: pass self.noChat = not (self.openChatEnabled) self.whiteListEntry = PChatInputWhiteList(text_scale = 0.035000000000000003, frameSize = (-0.0060000000000000001, 3.2000000000000002, -0.014999999999999999, 0.035999999999999997)) self.whiteListScroller = DirectEntryScroll(entry = self.whiteListEntry, clipSize = (-0.0060000000000000001, 0.68400000000000005, -0.014999999999999999, 0.035999999999999997)) if self.openChatEnabled: self.whiteListEntry.alwaysSubmit = True self.speedEntry = PChatInputSpeedChat() self.emoteEntry = PChatInputEmote() self.chatPanel = ChatPanel.ChatPanel(self, self.whiteListScroller) if self.whiteListEnabled: self.whiteListActive = True self.whiteListEntry.requestMode(self.preferredMode) elif self.noChat: self.whiteListEntry.requestMode('Off') self.deactivateChat()
class PiratesChatManager(ChatManagerV2.ChatManagerV2): notify = DirectNotifyGlobal.directNotify.newCategory('PiratesChatManager') execChat = base.config.GetBool('exec-chat', 0) def __init__(self): ChatManagerV2.ChatManagerV2.__init__(self) self.warningDialog = None self.unpaidWarningDialog = None self.preferredMode = 'All' self.lastPreferred = 'All' self.whiteListActive = True self.active = False self.lastWhisper = None self.whiteListEnabled = True self.openChatEnabled = base.cr.accountDetailRecord.canOpenChatAndNotGetBooted( ) if self.whiteListEnabled: pass self.toggleEnabled = self.openChatEnabled if not self.whiteListEnabled: pass self.noChat = not (self.openChatEnabled) self.whiteListEntry = PChatInputWhiteList( text_scale=0.035000000000000003, frameSize=(-0.0060000000000000001, 3.2000000000000002, -0.014999999999999999, 0.035999999999999997)) self.whiteListScroller = DirectEntryScroll( entry=self.whiteListEntry, clipSize=(-0.0060000000000000001, 0.68400000000000005, -0.014999999999999999, 0.035999999999999997)) if self.openChatEnabled: self.whiteListEntry.alwaysSubmit = True self.speedEntry = PChatInputSpeedChat() self.emoteEntry = PChatInputEmote() self.chatPanel = ChatPanel.ChatPanel(self, self.whiteListScroller) if self.whiteListEnabled: self.whiteListActive = True self.whiteListEntry.requestMode(self.preferredMode) elif self.noChat: self.whiteListEntry.requestMode('Off') self.deactivateChat() def delete(self): self.ignoreAll() self.stopFadeTimer() self.whiteListEntry.destroy() del self.whiteListEntry self.speedEntry.delete() del self.speedEntry self.emoteEntry.delete() del self.emoteEntry self.chatPanel.destroy() del self.chatPanel if self.warningDialog: self.warningDialog.destroy() self.warningDialog = None ChatManagerV2.ChatManagerV2.delete(self) def enableCrewChat(self): self.crewChatAllowed = True self.chatPanel.enableCrewChat() def disableCrewChat(self): self.crewChatAllowed = False self.chatPanel.disableCrewChat() def enableGuildChat(self): self.guildChatAllowed = True self.chatPanel.enableGuildChat() def disableGuildChat(self): self.guildChatAllowed = False self.chatPanel.disableGuildChat() def enableShipPVPChat(self): self.shipPVPChatAllowed = True self.chatPanel.enableShipPVPChat() def disableShipPVPChat(self): self.shipPVPChatAllowed = False self.chatPanel.disableShipPVPChat() def activateChat(self, preferred=''): if not isinstance(preferred, str): if isinstance(preferred, CollisionEntry): self.notify.warning("'preferred' is a CollisionEntry") self.notify.warning( 'from mask: %s' % (preferred.getFromNode().getFromCollideMask(), )) self.notify.warning( 'into mask: %s' % (preferred.getIntoNode().getIntoCollideMask(), )) self.notify.warning( 'Calling PiratesChatManager.activateChat with non-string preferred argument: %s' % (preferred, )) return None messenger.send('openedChat') self.stopFadeTimer() self.active = True if preferred: self.preferredMode = preferred if hasattr(base, 'localAvatar'): base.localAvatar.removeContext(InventoryType.PlayerChat) if self.preferredMode == 'All': self.chatPanel.activateAllChat() self.speedEntry.requestMode('AllChat') self.emoteEntry.requestMode('AllChat') if self.noChat: pass elif self.whiteListActive: self.whiteListEntry.requestMode('AllChat') elif self.preferredMode == 'Crew': if localAvatar.getBandId(): self.chatPanel.activateCrewChat() if self.noChat: pass if self.whiteListActive: self.whiteListEntry.requestMode('CrewChat') self.speedEntry.requestMode('CrewChat') self.emoteEntry.requestMode('CrewChat') else: self.activateChat('All') elif self.preferredMode == 'Guild': if localAvatar.getGuildId(): self.chatPanel.activateGuildChat() if self.noChat: pass if self.whiteListActive: self.whiteListEntry.requestMode('GuildChat') self.speedEntry.requestMode('GuildChat') self.emoteEntry.requestMode('GuildChat') else: self.activateChat('All') elif self.preferredMode == 'ShipPVP': if not hasattr(localAvatar.ship, 'getSiegeTeam'): self.activateChat('All') elif localAvatar.ship.getSiegeTeam(): self.chatPanel.activateShipPVPChat() if self.noChat: pass if self.whiteListActive: self.whiteListEntry.requestMode('ShipPVPChat') self.speedEntry.requestMode('ShipPVP') self.emoteEntry.requestMode('ShipPVP') else: self.activateChat('All') elif self.preferredMode == 'Whisper' and self.lastWhisper: (id, isPlayer) = self.lastWhisper handle = None if id: if isPlayer: handle = base.cr.identifyPlayer(id) else: handle = base.cr.identifyAvatar(id) if handle: self.activateWhisperChat(id, isPlayer) self.chatPanel.activateWhisperChat(*self.lastWhisper) else: self.activateChat(self.lastPreferred) def activateWhisperChat(self, whisperId, toPlayer=False): self.stopFadeTimer() if self.preferredMode != 'Whisper': self.lastPreferred = self.preferredMode self.preferredMode = 'Whisper' self.lastWhisper = (whisperId, toPlayer) self.chatPanel.activateWhisperChat(whisperId, toPlayer) if toPlayer: self.speedEntry.requestMode('PlayerWhisper', whisperId) self.speedEntry.setWhisperTo(whisperId, toPlayer) if self.whiteListActive: self.whiteListEntry.requestMode('PlayerWhisper', whisperId) else: handle = base.cr.identifyAvatar(whisperId) if handle and handle.isOnline(): self.speedEntry.requestMode('AvatarWhisper', whisperId) self.speedEntry.setWhisperTo(whisperId, toPlayer) if self.whiteListActive: self.whiteListEntry.requestMode('AvatarWhisper', whisperId) else: self.activateChat(self.lastPreferred) def activateSpeedChat(self): messenger.send('openedSpeedChat') self.activateChat() self.speedEntry.show() self.emoteEntry.hide() def activateEmoteChat(self): self.speedEntry.hide() self.emoteEntry.show() def toggleWhiteListChat(self): if not self.toggleEnabled: return None if not isinstance(self.preferredMode, str): raise TypeError, 'preferredMode was non-string in toggleWhiteListChat' self.whiteListActive = True if not self.active: self.activateChat() if self.whiteListActive: text = self.whiteListEntry.get(plain=True) if 'Whisper' in self.preferredMode: (whisperId, toPlayer) = self.lastWhisper if toPlayer: self.whiteListEntry.requestMode('PlayerWhisper', whisperId) else: self.whiteListEntry.requestMode('AvatarWhisper', whisperId) else: self.whiteListEntry.requestMode(self.preferredMode + 'Chat') self.whiteListEntry.activate() self.whiteListEntry.set(text) self.whiteListEntry.setCursorPosition(len(text)) self.whiteListEntry.applyFilter({}) self.chatPanel.enableWhiteListChat() else: text = self.whiteListEntry.get(plain=True) self.whiteListEntry.requestMode('Off') if 'Whisper' in self.preferredMode: (whisperId, toPlayer) = self.lastWhisper if toPlayer: pass def speedChatDone(self, success=True): self.deactivateChat(success) def deactivateChat(self, fade=False): self.active = False if fade: self.startFadeTimer() else: self.stopFadeTimer() self.chatPanel.deactivateChat() self.whiteListEntry.requestMode('Off') self.speedEntry.fsm.request('off') self.emoteEntry.fsm.request('off') def messageSent(self): self.deactivateChat(fade=True) def whisperCanceled(self): self.activateChat(self.lastPreferred) def startFadeTimer(self): self.stopFadeTimer() taskMgr.doMethodLater(3, self.deactivateChat, 'ChatManager-fadeTimer', []) def stopFadeTimer(self): taskMgr.remove('ChatManager-fadeTimer') def enterOpenChatWarning(self): self.warningDialog = PDialog.PDialog( text=PLocalizer.ChatManagerNeedParentWarning, style=OTPDialog.Acknowledge, command=self.openChatWarningAck) def openChatWarningAck(self, value): self.fsm.request('mainMenu') def exitOpenChatWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterNoFriendsWarning(self): self.warningDialog = PDialog.PDialog( text=PLocalizer.ChatManagerNoFriendsWarning, style=OTPDialog.Acknowledge, command=self.noFriendsWarningAck) def noFriendsWarningAck(self, value): self.fsm.request('mainMenu') def exitNoFriendsWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterNoSecretChatAtAll(self): if self.noSecretChatAtAll == None: offX = -0.75 offZ = -0.45000000000000001 self.noSecretChatAtAll = GuiPanel.GuiPanel('Secret Codes!!! Arg!!', 1.6000000000000001, 1.2) self.noSecretChatAtAll.setPos(offX, 0, offZ) DirectLabel(parent=self.noSecretChatAtAll, relief=None, pos=(-offX, 0, 0.94999999999999996), text_fg=(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text=OTPLocalizer.NoSecretChatAtAllTitle, textMayChange=0, text_scale=0.080000000000000002) DirectLabel(parent=self.noSecretChatAtAll, relief=None, pos=(-offX, 0, 0.80000000000000004), text_fg=(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text=PLocalizer.NoSecretChatAtAll, text_wordwrap=20, textMayChange=0, text_scale=0.070000000000000007) def handleNoSecretChatAtAllOK(value): self.fsm.request('mainMenu') DirectButton(self.noSecretChatAtAll, relief=None, text_fg=(0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text=OTPLocalizer.NoSecretChatAtAllOK, text_scale=0.050000000000000003, text_pos=(0.0, -0.10000000000000001), textMayChange=0, pos=(-offX, 0.0, 0.14999999999999999), command=handleNoSecretChatAtAllOK) self.noSecretChatAtAll.show() def exitNoSecretChatAtAll(self): self.noSecretChatAtAll.hide() def enterUnpaidChatWarning(self): self.unpaidWarningDialog = PDialog.PDialog( text=PLocalizer.ChatManagerUnpaidWarning, style=OTPDialog.Acknowledge, command=self.unpaidChatWarningAck) def unpaidChatWarningAck(self, value): self.fsm.request('mainMenu') def exitUnpaidChatWarning(self): self.unpaidWarningDialog.destroy() self.unpaidWarningDialog = None def enterNoSecretChatWarning(self): pass def exitNoSecretChatWarning(self): pass def enterActivateChat(self): pass def exitActivateChat(self): pass def enterMainMenu(self): pass def exitMainMenu(self): pass def stop(self): self.fsm.request('off') self.ignoreAll() def start(self): self.fsm.request('mainMenu') self.accept('enter', self.activateChat) self.accept('alt-enter', self.activateWhisperReply) self.accept('/', self.beginSlashCommand) self.accept('shift-`', self.beginGMCommand) def beginGMCommand(self): if localAvatar.isGM() or base.cr.wantMagicWords: self.activateChat('All') self.whiteListEntry.set('~') self.whiteListEntry.guiItem.setCursorPosition(1) def beginSlashCommand(self): self.activateChat('All') self.whiteListEntry.set('/') self.whiteListEntry.guiItem.setCursorPosition(1) def enterLeaveToPayDialog(self): if self.leaveToPayDialog == None: self.leaveToPayDialog = LeaveToPayDialog.LeaveToPayDialog( self.paidNoParentPassword) self.leaveToPayDialog.setCancel( self._PiratesChatManager__handleLeaveToPayCancel) self.leaveToPayDialog.show() def exitLeaveToPayDialog(self): if self.leaveToPayDialog: self.leaveToPayDialog.destroy() self.leaveToPayDialog = None def enterNoSecretChatWarning(self): self.warningDialog = PDialog.PDialog( text=PLocalizer.ChatManagerNoFriendsWarning, style=OTPDialog.Acknowledge, command=self.noSecretChatWarningAck) def noSecretChatWarningAck(self, value): self.fsm.request('mainMenu') def exitNoSecretChatWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterChatMoreInfo(self): if self.chatMoreInfo == None: self.chatMoreInfo = SecretFriendsInfoPanel.SecretFriendsInfoPanel( 'secretFriendsInfoDone') self.chatMoreInfo.show() self.accept('secretFriendsInfoDone', self._PiratesChatManager__secretFriendsInfoDone) def exitChatMoreInfo(self): self.chatMoreInfo.hide() self.ignore('secretFriendsInfoDone') def enterChatPrivacyPolicy(self): if self.chatPrivacyPolicy == None: self.chatPrivacyPolicy = PrivacyPolicyPanel.PrivacyPolicyPanel( 'privacyPolicyDone') self.chatPrivacyPolicy.show() self.accept('privacyPolicyDone', self._PiratesChatManager__privacyPolicyDone) def exitChatPrivacyPolicy(self): cleanupDialog('privacyPolicyDialog') self.chatPrivacyPolicy = None self.ignore('privacyPolicyDone') def _PiratesChatManager__privacyPolicyDone(self): self.fsm.request('mainMenu') def enterSecretChatActivated(self): self.notify.error('called enterSecretChatActivated() on parent class') def exitSecretChatActivated(self): self.notify.error('called exitSecretChatActivated() on parent class') def enterProblemActivatingChat(self): self.notify.error( 'called enterProblemActivatingChat() on parent class') def exitProblemActivatingChat(self): self.notify.error('called exitProblemActivatingChat() on parent class') def activateWhisperReply(self): (id, isPlayer) = base.talkAssistant.getWhisperReplyId() handle = None if id: if isPlayer: handle = base.cr.identifyPlayer(id) else: handle = base.cr.identifyAvatar(id) if handle: self.activateWhisperChat(id, isPlayer) else: self.activateChat(self.lastPreferred) def addGMSpeedChat(self): self.speedEntry.addGMSpeedChat()
class PiratesChatManager(ChatManagerV2.ChatManagerV2): notify = DirectNotifyGlobal.directNotify.newCategory('PiratesChatManager') execChat = base.config.GetBool('exec-chat', 0) def __init__(self): ChatManagerV2.ChatManagerV2.__init__(self) self.warningDialog = None self.unpaidWarningDialog = None self.preferredMode = 'All' self.lastPreferred = 'All' self.whiteListActive = True self.active = False self.lastWhisper = None self.whiteListEnabled = True self.openChatEnabled = base.cr.accountDetailRecord.canOpenChatAndNotGetBooted() if self.whiteListEnabled: pass self.toggleEnabled = self.openChatEnabled if not self.whiteListEnabled: pass self.noChat = not (self.openChatEnabled) self.whiteListEntry = PChatInputWhiteList(text_scale = 0.035000000000000003, frameSize = (-0.0060000000000000001, 3.2000000000000002, -0.014999999999999999, 0.035999999999999997)) self.whiteListScroller = DirectEntryScroll(entry = self.whiteListEntry, clipSize = (-0.0060000000000000001, 0.68400000000000005, -0.014999999999999999, 0.035999999999999997)) if self.openChatEnabled: self.whiteListEntry.alwaysSubmit = True self.speedEntry = PChatInputSpeedChat() self.emoteEntry = PChatInputEmote() self.chatPanel = ChatPanel.ChatPanel(self, self.whiteListScroller) if self.whiteListEnabled: self.whiteListActive = True self.whiteListEntry.requestMode(self.preferredMode) elif self.noChat: self.whiteListEntry.requestMode('Off') self.deactivateChat() def delete(self): self.ignoreAll() self.stopFadeTimer() self.whiteListEntry.destroy() del self.whiteListEntry self.speedEntry.delete() del self.speedEntry self.emoteEntry.delete() del self.emoteEntry self.chatPanel.destroy() del self.chatPanel if self.warningDialog: self.warningDialog.destroy() self.warningDialog = None ChatManagerV2.ChatManagerV2.delete(self) def enableCrewChat(self): self.crewChatAllowed = True self.chatPanel.enableCrewChat() def disableCrewChat(self): self.crewChatAllowed = False self.chatPanel.disableCrewChat() def enableGuildChat(self): self.guildChatAllowed = True self.chatPanel.enableGuildChat() def disableGuildChat(self): self.guildChatAllowed = False self.chatPanel.disableGuildChat() def enableShipPVPChat(self): self.shipPVPChatAllowed = True self.chatPanel.enableShipPVPChat() def disableShipPVPChat(self): self.shipPVPChatAllowed = False self.chatPanel.disableShipPVPChat() def activateChat(self, preferred = ''): if not isinstance(preferred, str): if isinstance(preferred, CollisionEntry): self.notify.warning("'preferred' is a CollisionEntry") self.notify.warning('from mask: %s' % (preferred.getFromNode().getFromCollideMask(),)) self.notify.warning('into mask: %s' % (preferred.getIntoNode().getIntoCollideMask(),)) self.notify.warning('Calling PiratesChatManager.activateChat with non-string preferred argument: %s' % (preferred,)) return None messenger.send('openedChat') self.stopFadeTimer() self.active = True if preferred: self.preferredMode = preferred if hasattr(base, 'localAvatar'): base.localAvatar.removeContext(InventoryType.PlayerChat) if self.preferredMode == 'All': self.chatPanel.activateAllChat() self.speedEntry.requestMode('AllChat') self.emoteEntry.requestMode('AllChat') if self.noChat: pass elif self.whiteListActive: self.whiteListEntry.requestMode('AllChat') elif self.preferredMode == 'Crew': if localAvatar.getBandId(): self.chatPanel.activateCrewChat() if self.noChat: pass 1 if self.whiteListActive: self.whiteListEntry.requestMode('CrewChat') self.speedEntry.requestMode('CrewChat') self.emoteEntry.requestMode('CrewChat') else: self.activateChat('All') elif self.preferredMode == 'Guild': if localAvatar.getGuildId(): self.chatPanel.activateGuildChat() if self.noChat: pass 1 if self.whiteListActive: self.whiteListEntry.requestMode('GuildChat') self.speedEntry.requestMode('GuildChat') self.emoteEntry.requestMode('GuildChat') else: self.activateChat('All') elif self.preferredMode == 'ShipPVP': if not hasattr(localAvatar.ship, 'getSiegeTeam'): self.activateChat('All') elif localAvatar.ship.getSiegeTeam(): self.chatPanel.activateShipPVPChat() if self.noChat: pass 1 if self.whiteListActive: self.whiteListEntry.requestMode('ShipPVPChat') self.speedEntry.requestMode('ShipPVP') self.emoteEntry.requestMode('ShipPVP') else: self.activateChat('All') elif self.preferredMode == 'Whisper' and self.lastWhisper: (id, isPlayer) = self.lastWhisper handle = None if id: if isPlayer: handle = base.cr.identifyPlayer(id) else: handle = base.cr.identifyAvatar(id) if handle: self.activateWhisperChat(id, isPlayer) self.chatPanel.activateWhisperChat(*self.lastWhisper) else: self.activateChat(self.lastPreferred) def activateWhisperChat(self, whisperId, toPlayer = False): self.stopFadeTimer() if self.preferredMode != 'Whisper': self.lastPreferred = self.preferredMode self.preferredMode = 'Whisper' self.lastWhisper = (whisperId, toPlayer) self.chatPanel.activateWhisperChat(whisperId, toPlayer) if toPlayer: self.speedEntry.requestMode('PlayerWhisper', whisperId) self.speedEntry.setWhisperTo(whisperId, toPlayer) if self.whiteListActive: self.whiteListEntry.requestMode('PlayerWhisper', whisperId) else: handle = base.cr.identifyAvatar(whisperId) if handle and handle.isOnline(): self.speedEntry.requestMode('AvatarWhisper', whisperId) self.speedEntry.setWhisperTo(whisperId, toPlayer) if self.whiteListActive: self.whiteListEntry.requestMode('AvatarWhisper', whisperId) else: self.activateChat(self.lastPreferred) def activateSpeedChat(self): messenger.send('openedSpeedChat') self.activateChat() self.speedEntry.show() self.emoteEntry.hide() def activateEmoteChat(self): self.speedEntry.hide() self.emoteEntry.show() def toggleWhiteListChat(self): if not self.toggleEnabled: return None if not isinstance(self.preferredMode, str): raise TypeError, 'preferredMode was non-string in toggleWhiteListChat' self.whiteListActive = True if not self.active: self.activateChat() if self.whiteListActive: text = self.whiteListEntry.get(plain = True) if 'Whisper' in self.preferredMode: (whisperId, toPlayer) = self.lastWhisper if toPlayer: self.whiteListEntry.requestMode('PlayerWhisper', whisperId) else: self.whiteListEntry.requestMode('AvatarWhisper', whisperId) else: self.whiteListEntry.requestMode(self.preferredMode + 'Chat') self.whiteListEntry.activate() self.whiteListEntry.set(text) self.whiteListEntry.setCursorPosition(len(text)) self.whiteListEntry.applyFilter({ }) self.chatPanel.enableWhiteListChat() else: text = self.whiteListEntry.get(plain = True) self.whiteListEntry.requestMode('Off') if 'Whisper' in self.preferredMode: (whisperId, toPlayer) = self.lastWhisper if toPlayer: pass def speedChatDone(self, success = True): self.deactivateChat(success) def deactivateChat(self, fade = False): self.active = False if fade: self.startFadeTimer() else: self.stopFadeTimer() self.chatPanel.deactivateChat() self.whiteListEntry.requestMode('Off') self.speedEntry.fsm.request('off') self.emoteEntry.fsm.request('off') def messageSent(self): self.deactivateChat(fade = True) def whisperCanceled(self): self.activateChat(self.lastPreferred) def startFadeTimer(self): self.stopFadeTimer() taskMgr.doMethodLater(3, self.deactivateChat, 'ChatManager-fadeTimer', []) def stopFadeTimer(self): taskMgr.remove('ChatManager-fadeTimer') def enterOpenChatWarning(self): self.warningDialog = PDialog.PDialog(text = PLocalizer.ChatManagerNeedParentWarning, style = OTPDialog.Acknowledge, command = self.openChatWarningAck) def openChatWarningAck(self, value): self.fsm.request('mainMenu') def exitOpenChatWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterNoFriendsWarning(self): self.warningDialog = PDialog.PDialog(text = PLocalizer.ChatManagerNoFriendsWarning, style = OTPDialog.Acknowledge, command = self.noFriendsWarningAck) def noFriendsWarningAck(self, value): self.fsm.request('mainMenu') def exitNoFriendsWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterNoSecretChatAtAll(self): if self.noSecretChatAtAll == None: offX = -0.75 offZ = -0.45000000000000001 self.noSecretChatAtAll = GuiPanel.GuiPanel('Secret Codes!!! Arg!!', 1.6000000000000001, 1.2) self.noSecretChatAtAll.setPos(offX, 0, offZ) DirectLabel(parent = self.noSecretChatAtAll, relief = None, pos = (-offX, 0, 0.94999999999999996), text_fg = (0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text = OTPLocalizer.NoSecretChatAtAllTitle, textMayChange = 0, text_scale = 0.080000000000000002) DirectLabel(parent = self.noSecretChatAtAll, relief = None, pos = (-offX, 0, 0.80000000000000004), text_fg = (0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text = PLocalizer.NoSecretChatAtAll, text_wordwrap = 20, textMayChange = 0, text_scale = 0.070000000000000007) def handleNoSecretChatAtAllOK(value): self.fsm.request('mainMenu') DirectButton(self.noSecretChatAtAll, relief = None, text_fg = (0.90000000000000002, 0.90000000000000002, 0.90000000000000002, 1), text = OTPLocalizer.NoSecretChatAtAllOK, text_scale = 0.050000000000000003, text_pos = (0.0, -0.10000000000000001), textMayChange = 0, pos = (-offX, 0.0, 0.14999999999999999), command = handleNoSecretChatAtAllOK) self.noSecretChatAtAll.show() def exitNoSecretChatAtAll(self): self.noSecretChatAtAll.hide() def enterUnpaidChatWarning(self): self.unpaidWarningDialog = PDialog.PDialog(text = PLocalizer.ChatManagerUnpaidWarning, style = OTPDialog.Acknowledge, command = self.unpaidChatWarningAck) def unpaidChatWarningAck(self, value): self.fsm.request('mainMenu') def exitUnpaidChatWarning(self): self.unpaidWarningDialog.destroy() self.unpaidWarningDialog = None def enterNoSecretChatWarning(self): pass def exitNoSecretChatWarning(self): pass def enterActivateChat(self): pass def exitActivateChat(self): pass def enterMainMenu(self): pass def exitMainMenu(self): pass def stop(self): self.fsm.request('off') self.ignoreAll() def start(self): self.fsm.request('mainMenu') self.accept('enter', self.activateChat) self.accept('alt-enter', self.activateWhisperReply) self.accept('/', self.beginSlashCommand) self.accept('shift-`', self.beginGMCommand) def beginGMCommand(self): if localAvatar.isGM() or base.cr.wantMagicWords: self.activateChat('All') self.whiteListEntry.set('~') self.whiteListEntry.guiItem.setCursorPosition(1) def beginSlashCommand(self): self.activateChat('All') self.whiteListEntry.set('/') self.whiteListEntry.guiItem.setCursorPosition(1) def enterLeaveToPayDialog(self): if self.leaveToPayDialog == None: self.leaveToPayDialog = LeaveToPayDialog.LeaveToPayDialog(self.paidNoParentPassword) self.leaveToPayDialog.setCancel(self._PiratesChatManager__handleLeaveToPayCancel) self.leaveToPayDialog.show() def exitLeaveToPayDialog(self): if self.leaveToPayDialog: self.leaveToPayDialog.destroy() self.leaveToPayDialog = None def enterNoSecretChatWarning(self): self.warningDialog = PDialog.PDialog(text = PLocalizer.ChatManagerNoFriendsWarning, style = OTPDialog.Acknowledge, command = self.noSecretChatWarningAck) def noSecretChatWarningAck(self, value): self.fsm.request('mainMenu') def exitNoSecretChatWarning(self): self.warningDialog.destroy() self.warningDialog = None def enterChatMoreInfo(self): if self.chatMoreInfo == None: self.chatMoreInfo = SecretFriendsInfoPanel.SecretFriendsInfoPanel('secretFriendsInfoDone') self.chatMoreInfo.show() self.accept('secretFriendsInfoDone', self._PiratesChatManager__secretFriendsInfoDone) def exitChatMoreInfo(self): self.chatMoreInfo.hide() self.ignore('secretFriendsInfoDone') def enterChatPrivacyPolicy(self): if self.chatPrivacyPolicy == None: self.chatPrivacyPolicy = PrivacyPolicyPanel.PrivacyPolicyPanel('privacyPolicyDone') self.chatPrivacyPolicy.show() self.accept('privacyPolicyDone', self._PiratesChatManager__privacyPolicyDone) def exitChatPrivacyPolicy(self): cleanupDialog('privacyPolicyDialog') self.chatPrivacyPolicy = None self.ignore('privacyPolicyDone') def _PiratesChatManager__privacyPolicyDone(self): self.fsm.request('mainMenu') def enterSecretChatActivated(self): self.notify.error('called enterSecretChatActivated() on parent class') def exitSecretChatActivated(self): self.notify.error('called exitSecretChatActivated() on parent class') def enterProblemActivatingChat(self): self.notify.error('called enterProblemActivatingChat() on parent class') def exitProblemActivatingChat(self): self.notify.error('called exitProblemActivatingChat() on parent class') def activateWhisperReply(self): (id, isPlayer) = base.talkAssistant.getWhisperReplyId() handle = None if id: if isPlayer: handle = base.cr.identifyPlayer(id) else: handle = base.cr.identifyAvatar(id) if handle: self.activateWhisperChat(id, isPlayer) else: self.activateChat(self.lastPreferred) def addGMSpeedChat(self): self.speedEntry.addGMSpeedChat()