oldschool-toontown/toontown/coghq/DistributedLawOffice.py

70 lines
2.2 KiB
Python
Raw Normal View History

from panda3d.core import *
2019-11-02 17:27:54 -05:00
from toontown.toonbase.ToontownGlobals import *
from direct.distributed.ClockDelta import *
from direct.interval.IntervalGlobal import *
import random
from otp.level import DistributedLevel
from direct.directnotify import DirectNotifyGlobal
from . import LawOfficeBase
from . import FactoryEntityCreator
from . import FactorySpecs
2019-11-02 17:27:54 -05:00
from otp.level import LevelSpec
from otp.level import LevelConstants
from toontown.toonbase import TTLocalizer
from toontown.coghq import FactoryCameraViews
from direct.distributed.DistributedObject import DistributedObject
if __dev__:
from otp.level import EditorGlobals
class DistributedLawOffice(DistributedObject, LawOfficeBase.LawOfficeBase):
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedLawOffice')
def __init__(self, cr):
DistributedObject.__init__(self, cr)
LawOfficeBase.LawOfficeBase.__init__(self)
self.suitIds = []
self.suits = []
self.reserveSuits = []
self.joiningReserves = []
self.suitsInitialized = 0
self.goonClipPlanes = {}
self.level = None
return
def generate(self):
self.notify.debug('generate')
self.accept('lawOfficeFloorDone', self.handleFloorDone)
def delete(self):
base.localAvatar.chatMgr.chatInputSpeedChat.removeFactoryMenu()
self.ignore('lawOfficeFloorDone')
def setLawOfficeId(self, id):
LawOfficeBase.LawOfficeBase.setLawOfficeId(self, id)
def levelAnnounceGenerate(self):
self.notify.debug('levelAnnounceGenerate')
def handleSOSPanel(self, panel):
avIds = []
for avId in self.avIdList:
if base.cr.doId2do.get(avId):
avIds.append(avId)
panel.setFactoryToonIdList(avIds)
def handleFloorDone(self):
self.sendUpdate('readyForNextFloor')
def disable(self):
self.notify.debug('disable')
base.localAvatar.setCameraCollisionsCanMove(0)
def getTaskZoneId(self):
return self.lawOfficeId
def startSignal(self):
base.camera.setScale(base.localAvatar.getScale())
localAvatar.setCameraFov(DefaultCameraFov)
base.camera.clearMat()