86 lines
2.9 KiB
Python
86 lines
2.9 KiB
Python
from pickle import loads, dumps
|
|
from direct.distributed import DistributedObject
|
|
from direct.directnotify import DirectNotifyGlobal
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('AvatarManager')
|
|
|
|
class OtpAvatarManager(DistributedObject.DistributedObject):
|
|
notify = notify
|
|
OnlineEvent = 'GlobalAvatarManagerOnline'
|
|
|
|
def __init__(self, cr):
|
|
DistributedObject.DistributedObject.__init__(self, cr)
|
|
self.avatars = {}
|
|
|
|
def delete(self):
|
|
self.ignoreAll()
|
|
self.cr.avatarManager = None
|
|
DistributedObject.DistributedObject.delete(self)
|
|
return
|
|
|
|
def online(self):
|
|
messenger.send(OtpAvatarManager.OnlineEvent)
|
|
|
|
def sendRequestAvatarList(self):
|
|
self.sendUpdate('requestAvatarList', [0])
|
|
|
|
def rejectAvatarList(self, result):
|
|
messenger.send('avatarListFailed', [result])
|
|
|
|
def avatarListResponse(self, pickleData):
|
|
avatars = loads(pickleData)
|
|
messenger.send('avatarList', [avatars])
|
|
|
|
def rejectCreateAvatar(self, result):
|
|
messenger.send('createdNewAvatarFailed', [result])
|
|
|
|
def createAvatarResponse(self, avatarId, subId, access, founder):
|
|
self.notify.info('new avatarId: %s subId: %s access: %s founder: %s' % (avatarId,
|
|
subId,
|
|
access,
|
|
founder))
|
|
messenger.send('createdNewAvatar', [avatarId, subId])
|
|
|
|
def sendRequestRemoveAvatar(self, avatarId, subId, confirmPassword):
|
|
self.sendUpdate('requestRemoveAvatar', [0,
|
|
avatarId,
|
|
subId,
|
|
confirmPassword])
|
|
|
|
def rejectRemoveAvatar(self, reasonId):
|
|
messenger.send('rejectRemoveAvatar', [reasonId])
|
|
|
|
def removeAvatarResponse(self, avatarId, subId):
|
|
messenger.send('removeAvatarResponse', [avatarId, subId])
|
|
|
|
def sendRequestShareAvatar(self, avatarId, subId, shared):
|
|
self.sendUpdate('requestShareAvatar', [0,
|
|
avatarId,
|
|
subId,
|
|
shared])
|
|
|
|
def rejectShareAvatar(self, reasonId):
|
|
messenger.send('rejectShareAvatar', [reasonId])
|
|
|
|
def shareAvatarResponse(self, avatarId, subId, shared):
|
|
messenger.send('shareAvatarResponse', [avatarId, subId, shared])
|
|
|
|
def sendRequestAvatarSlot(self, subId, slot):
|
|
self.sendUpdate('requestAvatarSlot', [0, subId, slot])
|
|
|
|
def rejectAvatarSlot(self, reasonId, subId, slot):
|
|
messenger.send('rejectAvatarSlot', [reasonId, subId, slot])
|
|
|
|
def avatarSlotResponse(self, subId, slot):
|
|
messenger.send('avatarSlotResponse', [subId, slot])
|
|
|
|
def sendRequestPlayAvatar(self, avatarId, subId):
|
|
self.sendUpdate('requestPlayAvatar', [0, avatarId, subId])
|
|
|
|
def rejectPlayAvatar(self, reasonId, avatarId):
|
|
messenger.send('rejectPlayAvatar', [reasonId, avatarId])
|
|
|
|
def playAvatarResponse(self, avatarId, subId, access, founder):
|
|
messenger.send('playAvatarResponse', [avatarId,
|
|
subId,
|
|
access,
|
|
founder])
|