Poodletooth-iLand/otp/chat/TalkAssistant.py

53 lines
2 KiB
Python
Raw Normal View History

2015-03-03 16:10:12 -06:00
from direct.directnotify import DirectNotifyGlobal
from direct.showbase import DirectObject
from otp.chat.ChatGlobals import *
2015-06-24 12:19:10 -05:00
from otp.nametag.NametagConstants import *
2015-05-30 14:47:29 -05:00
import ChatUtil
2015-03-03 16:10:12 -06:00
class TalkAssistant(DirectObject.DirectObject):
notify = DirectNotifyGlobal.directNotify.newCategory('TalkAssistant')
def delete(self):
self.ignoreAll()
def start(self):
pass
def stop(self):
pass
def sendOpenTalk(self, message):
if len(message) > 0 and message[0] == '~':
2015-03-03 16:10:12 -06:00
messenger.send('magicWord', [message])
else:
chatFlags = CFSpeech | CFTimeout
2015-05-30 14:47:29 -05:00
if ChatUtil.isThought(message):
2015-03-03 16:10:12 -06:00
chatFlags = CFThought
base.cr.chatAgent.sendChatMessage(message)
messenger.send('chatUpdate', [message, chatFlags])
def sendWhisperTalk(self, message, receiverAvId):
base.cr.ttsFriendsManager.sendUpdate('sendTalkWhisper', [receiverAvId, message])
2015-03-03 16:10:12 -06:00
def sendOpenSpeedChat(self, type, messageIndex):
if type == SPEEDCHAT_NORMAL:
messenger.send(SCChatEvent)
messenger.send('chatUpdateSC', [messageIndex])
base.localAvatar.b_setSC(messageIndex)
elif type == SPEEDCHAT_EMOTE:
messenger.send('chatUpdateSCEmote', [messageIndex])
messenger.send(SCEmoteChatEvent)
base.localAvatar.b_setSCEmote(messageIndex)
elif type == SPEEDCHAT_CUSTOM:
messenger.send('chatUpdateSCCustom', [messageIndex])
messenger.send(SCCustomChatEvent)
base.localAvatar.b_setSCCustom(messageIndex)
def sendAvatarWhisperSpeedChat(self, type, messageIndex, receiverId):
if type == SPEEDCHAT_NORMAL:
2015-04-23 17:18:16 -05:00
base.localAvatar.whisperSCTo(messageIndex, receiverId)
2015-03-03 16:10:12 -06:00
elif type == SPEEDCHAT_EMOTE:
2015-04-23 17:18:16 -05:00
base.localAvatar.whisperSCEmoteTo(messageIndex, receiverId)
2015-03-03 16:10:12 -06:00
elif type == SPEEDCHAT_CUSTOM:
2015-04-23 17:18:16 -05:00
base.localAvatar.whisperSCCustomTo(messageIndex, receiverId)