open-toontown/toontown/racing/Racer.py

42 lines
1.1 KiB
Python

from direct.distributed.ClockDelta import *
class Racer(object):
def __init__(self,race,air,avId,zoneId):
self.race=race
self.air=air
self.avId=avId
self.zoneId=zoneId
self.avatar=air.doId2do[avId]
self.avatar.takeOutKart(zoneId)
self.kart=self.avatar.kart
#race necessities
self.lapT=0
self.times=[]
self.totalTime = 0
self.maxLap=0
self.hasGag=False
self.gagType=0
self.startingPlace=None
self.baseTime=0
#racer State
self.finished=False
self.exited=False
self.anvilTarget=False
#in case of disconnect
self.exitEvent=self.air.getAvatarExitEvent(avId)
self.race.accept(self.exitEvent,race.unexpectedExit,extraArgs=[avId])
def setLapT(self,numLaps,lapT,timestamp):
self.lapT=numLaps + lapT
if(numLaps>self.maxLap):
lapTime = globalClockDelta.networkToLocalTime(timestamp) - self.baseTime
self.maxLap=numLaps
self.times.append(lapTime - self.totalTime)
self.totalTime = lapTime