oldschool-toontown/otp/login/AstronLoginManager.py
2019-12-02 19:44:19 -05:00

60 lines
2 KiB
Python

from direct.directnotify import DirectNotifyGlobal
from direct.distributed.DistributedObjectGlobal import DistributedObjectGlobal
class AstronLoginManager(DistributedObjectGlobal):
notify = DirectNotifyGlobal.directNotify.newCategory('AstronLoginManager')
def __init__(self, cr):
DistributedObjectGlobal.__init__(self, cr)
self._callback = None
def handleRequestLogin(self):
playToken = self.cr.playToken or 'dev'
self.sendRequestLogin(playToken)
def sendRequestLogin(self, playToken):
self.sendUpdate('requestLogin', [playToken])
def loginResponse(self, responseBlob):
self.cr.loginScreen.handleLoginToontownResponse(responseBlob)
def sendRequestAvatarList(self):
self.sendUpdate('requestAvatarList')
def avatarListResponse(self, avatarList):
self.cr.handleAvatarListResponse(avatarList)
def sendCreateAvatar(self, avDNA, avName, avPosition):
# avName isn't used. Sad!
self.sendUpdate('createAvatar', [avDNA.makeNetString(), avPosition])
def createAvatarResponse(self, avId):
messenger.send('nameShopCreateAvatarDone', [avId])
def sendSetNamePattern(self, avId, p1, f1, p2, f2, p3, f3, p4, f4, callback):
self._callback = callback
self.sendUpdate('setNamePattern', [avId, p1, f1, p2, f2, p3, f3, p4, f4])
def namePatternAnswer(self, avId, status):
self._callback(avId, status)
def sendSetNameTyped(self, avId, name, callback):
self._callback = callback
self.sendUpdate('setNameTyped', [avId, name])
def nameTypedResponse(self, avId, status):
self._callback(avId, status)
def sendAcknowledgeAvatarName(self, avId, callback):
self._callback = callback
self.sendUpdate('acknowledgeAvatarName', [avId])
def acknowledgeAvatarNameResponse(self):
self._callback()
def sendRequestRemoveAvatar(self, avId):
self.sendUpdate('requestRemoveAvatar', [avId])
def sendRequestPlayAvatar(self, avId):
self.sendUpdate('requestPlayAvatar', [avId])