oldschool-toontown/toontown/racing/DistributedRacePadAI.py

44 lines
1.5 KiB
Python
Raw Normal View History

2019-11-08 22:55:55 -06:00
from direct.directnotify import DirectNotifyGlobal
2019-12-05 21:42:29 -06:00
from direct.distributed.ClockDelta import globalClockDelta
from direct.fsm.FSM import FSM
2019-11-08 22:55:55 -06:00
2019-12-05 21:42:29 -06:00
from toontown.racing.DistributedKartPadAI import DistributedKartPadAI
class DistributedRacePadAI(DistributedKartPadAI, FSM):
2019-11-08 22:55:55 -06:00
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedRacePadAI')
defaultTransitions = {'Off': ['WaitEmpty'],
'WaitEmpty': ['WaitCountdown', 'Off'],
'WaitCountdown': ['WaitEmpty',
'WaitBoarding',
'Off',
'AllAboard'],
'WaitBoarding': ['AllAboard', 'WaitEmpty', 'Off'],
'AllAboard': ['Off', 'WaitEmpty', 'WaitCountdown']}
2019-12-05 21:42:29 -06:00
def __init__(self, air):
DistributedKartPadAI.__init__(self, air)
FSM.__init__(self, 'DistributedRacePadAI')
2019-12-05 21:42:29 -06:00
self.state = 'Off'
self.trackInfo = [0, 0]
def setState(self, state):
self.state = state
def d_setState(self, state):
self.sendUpdate('setState', [state, globalClockDelta.getRealNetworkTime()])
def b_setState(self, state):
self.setState(state)
self.d_setState(state)
def getState(self):
return self.state, globalClockDelta.getRealNetworkTime()
def getTrackInfo(self):
return self.trackInfo
def request(self, state):
FSM.request(self, state)
2019-12-05 21:42:29 -06:00
self.b_setState(state)