oldschool-toontown/toontown/uberdog/ToontownUDRepository.py

48 lines
1.8 KiB
Python
Raw Normal View History

import time
2019-11-08 21:20:04 -06:00
from direct.directnotify import DirectNotifyGlobal
2019-11-27 23:17:22 -06:00
2019-11-08 21:20:04 -06:00
from otp.distributed.DistributedDirectoryAI import DistributedDirectoryAI
2019-11-08 22:55:55 -06:00
from otp.distributed.OtpDoGlobals import *
2019-11-27 23:17:22 -06:00
from toontown.distributed.ToontownInternalRepository import ToontownInternalRepository
from toontown.parties.ToontownTimeManager import ToontownTimeManager
2019-11-27 23:17:22 -06:00
2019-11-08 21:20:04 -06:00
# TODO: Remove Astron dependence.
class ToontownUDRepository(ToontownInternalRepository):
2019-11-27 23:17:22 -06:00
notify = DirectNotifyGlobal.directNotify.newCategory('ToontownUDRepository')
2019-11-08 21:20:04 -06:00
def __init__(self, baseChannel, serverId):
ToontownInternalRepository.__init__(self, baseChannel, serverId, dcSuffix='UD')
self.toontownTimeManager = None
2019-11-08 21:20:04 -06:00
self.astronLoginManager = None
def handleConnected(self):
ToontownInternalRepository.handleConnected(self)
# Create our root object.
self.notify.info('Creating root object (%d)...' % self.getGameDoId())
rootObj = DistributedDirectoryAI(self)
rootObj.generateWithRequiredAndId(self.getGameDoId(), 0, 0)
# Create our local objects.
self.notify.info('Creating local objects...')
self.createLocals()
2019-11-08 21:20:04 -06:00
# Create our global objects.
self.notify.info('Creating global objects...')
self.createGlobals()
self.notify.info('UberDOG server is ready.')
def createLocals(self):
# Create our Toontown time manager...
self.toontownTimeManager = ToontownTimeManager(serverTimeUponLogin=int(time.time()),
globalClockRealTimeUponLogin=globalClock.getRealTime())
2019-11-08 21:20:04 -06:00
def createGlobals(self):
2021-06-29 12:57:22 -05:00
if __astron__:
# Create our Astron login manager...
self.astronLoginManager = self.generateGlobalObject(OTP_DO_ID_ASTRON_LOGIN_MANAGER, 'AstronLoginManager')