friends: More progress on adding friends

This commit is contained in:
John Cote 2021-07-13 21:30:44 -04:00
parent 463a264210
commit 6a72e2cf0c
1 changed files with 34 additions and 2 deletions

View File

@ -1,5 +1,6 @@
from direct.directnotify import DirectNotifyGlobal
from direct.distributed.DistributedObjectGlobalAI import DistributedObjectGlobalAI
from direct.distributed.PyDatagram import *
class FriendManagerAI(DistributedObjectGlobalAI):
@ -291,8 +292,39 @@ class FriendManagerAI(DistributedObjectGlobalAI):
# The reply will clear the context out when it comes in.
def __handleMakeFriends(self, avatarAId, avatarBId, flags, context):
# TODO
self.makeFriendsReply(1, context)
# And now the magic begins.
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):
# Return the previous rejection code if this invitee has