fixed no-visibility case

This commit is contained in:
Darren Ranalli 2003-09-11 01:47:10 +00:00
parent 3c00fa597c
commit 16166d6573
1 changed files with 15 additions and 4 deletions

View File

@ -214,6 +214,13 @@ class DistributedLevel(DistributedObject.DistributedObject,
firstZone = 16
self.enterZone(firstZone)
# if no viz, listen to all the zones
if not DistributedLevel.WantVisibility:
zones = list(self.zoneNums)
zones.remove(0)
zones.remove(16)
self.sendSetZone(16, zones)
def enterZone(self, zoneNum):
if not DistributedLevel.WantVisibility:
return
@ -252,14 +259,18 @@ class DistributedLevel(DistributedObject.DistributedObject,
for rz in removedZoneNums:
self.hideZone(rz)
self.sendSetZone(zoneNum, visibleZoneNums.keys())
self.curZoneNum = zoneNum
self.curVisibleZoneNums = visibleZoneNums
def sendSetZone(self, curZone, vizList):
# convert the zone numbers into their actual zoneIds
# always include Toontown and factory uberZones
visibleZoneIds = [ToontownGlobals.UberZone, self.getZoneId(0)]
for vz in visibleZoneNums.keys():
for vz in vizList:
visibleZoneIds.append(self.getZoneId(vz))
assert(uniqueElements(visibleZoneIds))
self.notify.debug('new viz list: %s' % visibleZoneIds)
toonbase.tcr.sendSetZoneMsg(self.getZoneId(zoneNum), visibleZoneIds)
self.curZoneNum = zoneNum
self.curVisibleZoneNums = visibleZoneNums
toonbase.tcr.sendSetZoneMsg(self.getZoneId(curZone), visibleZoneIds)