friends: More progress on adding friends
This commit is contained in:
parent
463a264210
commit
6a72e2cf0c
|
|
@ -1,5 +1,6 @@
|
||||||
from direct.directnotify import DirectNotifyGlobal
|
from direct.directnotify import DirectNotifyGlobal
|
||||||
from direct.distributed.DistributedObjectGlobalAI import DistributedObjectGlobalAI
|
from direct.distributed.DistributedObjectGlobalAI import DistributedObjectGlobalAI
|
||||||
|
from direct.distributed.PyDatagram import *
|
||||||
|
|
||||||
|
|
||||||
class FriendManagerAI(DistributedObjectGlobalAI):
|
class FriendManagerAI(DistributedObjectGlobalAI):
|
||||||
|
|
@ -291,8 +292,39 @@ class FriendManagerAI(DistributedObjectGlobalAI):
|
||||||
# The reply will clear the context out when it comes in.
|
# The reply will clear the context out when it comes in.
|
||||||
|
|
||||||
def __handleMakeFriends(self, avatarAId, avatarBId, flags, context):
|
def __handleMakeFriends(self, avatarAId, avatarBId, flags, context):
|
||||||
# TODO
|
# And now the magic begins.
|
||||||
self.makeFriendsReply(1, context)
|
if avatarAId == avatarBId:
|
||||||
|
self.makeFriendsReply(0, context)
|
||||||
|
return
|
||||||
|
|
||||||
|
avatarA = self.air.doId2do.get(avatarAId) # invitee
|
||||||
|
avatarB = self.air.doId2do.get(avatarBId) # inviter
|
||||||
|
if avatarA and avatarB:
|
||||||
|
datagram = PyDatagram()
|
||||||
|
datagram.addServerHeader(self.GetPuppetConnectionChannel(avatarA.getDoId()), self.air.ourChannel,
|
||||||
|
CLIENTAGENT_DECLARE_OBJECT)
|
||||||
|
datagram.addUint32(avatarB.getDoId())
|
||||||
|
datagram.addUint16(self.air.dclassesByName['DistributedToonAI'].getNumber())
|
||||||
|
self.air.send(datagram)
|
||||||
|
|
||||||
|
datagram = PyDatagram()
|
||||||
|
datagram.addServerHeader(self.GetPuppetConnectionChannel(avatarB.getDoId()), self.air.ourChannel,
|
||||||
|
CLIENTAGENT_DECLARE_OBJECT)
|
||||||
|
datagram.addUint32(avatarA.getDoId())
|
||||||
|
datagram.addUint16(self.air.dclassesByName['DistributedToonAI'].getNumber())
|
||||||
|
self.air.send(datagram)
|
||||||
|
|
||||||
|
avatarAFriendsList = avatarA.getFriendsList()
|
||||||
|
avatarAFriendsList.append((avatarB.getDoId(), 0))
|
||||||
|
avatarA.d_setFriendsList(avatarAFriendsList)
|
||||||
|
|
||||||
|
avatarBFriendsList = avatarB.getFriendsList()
|
||||||
|
avatarBFriendsList.append((avatarA.getDoId(), 0))
|
||||||
|
avatarB.d_setFriendsList(avatarBFriendsList)
|
||||||
|
|
||||||
|
self.makeFriendsReply(1, context)
|
||||||
|
|
||||||
|
self.makeFriendsReply(0, context)
|
||||||
|
|
||||||
def __previousResponse(self, inviteeId, inviterId):
|
def __previousResponse(self, inviteeId, inviterId):
|
||||||
# Return the previous rejection code if this invitee has
|
# Return the previous rejection code if this invitee has
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue