37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
from direct.directnotify import DirectNotifyGlobal
|
|
from toontown.coghq import CogHQExterior
|
|
from toontown.dna.DNAParser import loadDNAFileAI, DNAStorage
|
|
from toontown.hood import ZoneUtil
|
|
|
|
|
|
class SellbotHQExterior(CogHQExterior.CogHQExterior):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('SellbotHQExterior')
|
|
|
|
def enter(self, requestStatus):
|
|
CogHQExterior.CogHQExterior.enter(self, requestStatus)
|
|
|
|
self.loader.hood.startSky()
|
|
|
|
# Load the CogHQ DNA file:
|
|
dnaStore = DNAStorage()
|
|
dnaFileName = self.genDNAFileName(self.zoneId)
|
|
loadDNAFileAI(dnaStore, dnaFileName)
|
|
|
|
# Collect all of the vis group zone IDs:
|
|
self.zoneVisDict = {}
|
|
for i in xrange(dnaStore.getNumDNAVisGroupsAI()):
|
|
groupFullName = dnaStore.getDNAVisGroupName(i)
|
|
visGroup = dnaStore.getDNAVisGroupAI(i)
|
|
visZoneId = int(base.cr.hoodMgr.extractGroupName(groupFullName))
|
|
visibles = []
|
|
for i in xrange(visGroup.getNumVisibles()):
|
|
visibles.append(int(visGroup.getVisible(i)))
|
|
visibles.append(ZoneUtil.getBranchZone(visZoneId))
|
|
self.zoneVisDict[visZoneId] = visibles
|
|
|
|
# Next, we want interest in all vis groups due to this being a Cog HQ:
|
|
base.cr.sendSetZoneMsg(self.zoneId, self.zoneVisDict.values()[0])
|
|
|
|
def exit(self):
|
|
self.loader.hood.stopSky()
|
|
CogHQExterior.CogHQExterior.exit(self)
|