mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 13:12:30 -06:00
81 lines
2.3 KiB
Python
81 lines
2.3 KiB
Python
from direct.directnotify import DirectNotifyGlobal
|
|
from direct.distributed.DistributedObjectAI import DistributedObjectAI
|
|
from toontown.parties import PartyGlobals, PartyUtils
|
|
"""
|
|
dclass DistributedPartyActivity : DistributedObject {
|
|
setX(int16/10) broadcast required;
|
|
setY(int16/10) broadcast required;
|
|
setH(uint16%360/100) broadcast required;
|
|
setPartyDoId(uint32) broadcast required;
|
|
toonJoinRequest() airecv clsend;
|
|
toonExitRequest() airecv clsend;
|
|
toonExitDemand() airecv clsend;
|
|
toonReady() airecv clsend;
|
|
joinRequestDenied(uint8);
|
|
exitRequestDenied(uint8);
|
|
setToonsPlaying(uint32 []) broadcast ram;
|
|
setState(string, int16) broadcast ram;
|
|
showJellybeanReward(uint32, uint8, string);
|
|
};
|
|
"""
|
|
class DistributedPartyActivityAI(DistributedObjectAI):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory("DistributedPartyActivityAI")
|
|
|
|
def __init__(self, air, parent, activityTuple):
|
|
DistributedObjectAI.__init__(self, air)
|
|
self.parent = parent
|
|
x, y, h = activityTuple[1:] # ignore activity ID
|
|
self.x = PartyUtils.convertDistanceFromPartyGrid(x, 0)
|
|
self.y = PartyUtils.convertDistanceFromPartyGrid(y, 1)
|
|
self.h = h * PartyGlobals.PartyGridHeadingConverter
|
|
self.toonsPlaying = []
|
|
|
|
def getX(self):
|
|
return self.x
|
|
|
|
def getY(self):
|
|
return self.y
|
|
|
|
def getH(self):
|
|
return self.h
|
|
|
|
def getPartyDoId(self):
|
|
return self.parent
|
|
|
|
def updateToonsPlaying(self):
|
|
self.sendUpdate('setToonsPlaying', [self.toonsPlaying])
|
|
|
|
def toonJoinRequest(self):
|
|
print 'toon join request'
|
|
avId = self.air.getAvatarIdFromSender()
|
|
#todo hackyfun i should FSM
|
|
self.toonsPlaying.append(avId)
|
|
self.updateToonsPlaying()
|
|
|
|
def toonExitRequest(self):
|
|
print 'toon exit request'
|
|
|
|
def toonExitDemand(self):
|
|
print 'toon exit demand'
|
|
avId = self.air.getAvatarIdFromSender()
|
|
self.toonsPlaying.remove(avId)
|
|
self.updateToonsPlaying()
|
|
|
|
def toonReady(self):
|
|
print 'toon ready'
|
|
|
|
def joinRequestDenied(self, todo0):
|
|
pass
|
|
|
|
def exitRequestDenied(self, todo0):
|
|
pass
|
|
|
|
def setToonsPlaying(self, todo0):
|
|
pass
|
|
|
|
def setState(self, todo0, todo1):
|
|
pass
|
|
|
|
def showJellybeanReward(self, todo0, todo1, todo2):
|
|
pass
|
|
|