oldschool-toontown/otp/ai/TimeManagerAI.py

33 lines
1.1 KiB
Python
Raw Normal View History

import time
2019-11-08 22:55:55 -06:00
from direct.directnotify import DirectNotifyGlobal
from direct.distributed.ClockDelta import globalClockDelta
from direct.distributed.DistributedObjectAI import DistributedObjectAI
from otp.otpbase import OTPGlobals
2019-11-08 22:55:55 -06:00
class TimeManagerAI(DistributedObjectAI):
notify = DirectNotifyGlobal.directNotify.newCategory('TimeManagerAI')
def __init__(self, air):
DistributedObjectAI.__init__(self, air)
self.avId2disconnectcode = {}
def requestServerTime(self, context):
avId = self.air.getAvatarIdFromSender()
if not avId:
return
self.sendUpdateToAvatarId(avId, 'serverTime',
[context, globalClockDelta.getRealNetworkTime(bits=32), int(time.time())])
def setDisconnectReason(self, disconnectCode):
avId = self.air.getAvatarIdFromSender()
if not avId:
return
self.avId2disconnectcode[avId] = disconnectCode
self.air.writeServerEvent('disconnect-reason', avId=avId,
reason=OTPGlobals.DisconnectReasons.get(disconnectCode, 'unknown'))