fsm: Change FourState's debugPrint to a __method

This should stop it from getting overridden by subclasses.
This commit is contained in:
Sam Edwards 2017-03-29 17:39:27 -06:00
parent 6d250f2f1f
commit 76070d84cd
2 changed files with 38 additions and 38 deletions

View File

@ -91,7 +91,7 @@ class FourState:
oposite of 'on'). oposite of 'on').
""" """
self.stateIndex = 0 self.stateIndex = 0
assert self.debugPrint("FourState(names=%s)"%(names)) assert self.__debugPrint("FourState(names=%s)"%(names))
self.track = None self.track = None
self.stateTime = 0.0 self.stateTime = 0.0
self.names = names self.names = names
@ -131,7 +131,7 @@ class FourState:
self.fsm.enterInitialState() self.fsm.enterInitialState()
def setTrack(self, track): def setTrack(self, track):
assert self.debugPrint("setTrack(track=%s)"%(track,)) assert self.__debugPrint("setTrack(track=%s)"%(track,))
if self.track is not None: if self.track is not None:
self.track.pause() self.track.pause()
self.track = None self.track = None
@ -147,27 +147,27 @@ class FourState:
# If the client wants the state changed it needs to # If the client wants the state changed it needs to
# send a request to the AI. # send a request to the AI.
#def setIsOn(self, isOn): #def setIsOn(self, isOn):
# assert self.debugPrint("setIsOn(isOn=%s)"%(isOn,)) # assert self.__debugPrint("setIsOn(isOn=%s)"%(isOn,))
# pass # pass
def isOn(self): def isOn(self):
assert self.debugPrint("isOn() returning %s (stateIndex=%s)"%(self.stateIndex==4, self.stateIndex)) assert self.__debugPrint("isOn() returning %s (stateIndex=%s)"%(self.stateIndex==4, self.stateIndex))
return self.stateIndex==4 return self.stateIndex==4
def changedOnState(self, isOn): def changedOnState(self, isOn):
""" """
Allow derived classes to overide this. Allow derived classes to overide this.
""" """
assert self.debugPrint("changedOnState(isOn=%s)"%(isOn,)) assert self.__debugPrint("changedOnState(isOn=%s)"%(isOn,))
##### state 0 ##### ##### state 0 #####
def enterState0(self): def enterState0(self):
assert self.debugPrint("enter0()") assert self.__debugPrint("enter0()")
self.enterStateN(0) self.enterStateN(0)
def exitState0(self): def exitState0(self):
assert self.debugPrint("exit0()") assert self.__debugPrint("exit0()")
# It's important for FourStates to broadcast their state # It's important for FourStates to broadcast their state
# when they are generated on the client. Before I put this in, # when they are generated on the client. Before I put this in,
# if a door was generated and went directly to an 'open' state, # if a door was generated and went directly to an 'open' state,
@ -177,43 +177,43 @@ class FourState:
##### state 1 ##### ##### state 1 #####
def enterState1(self): def enterState1(self):
assert self.debugPrint("enterState1()") assert self.__debugPrint("enterState1()")
self.enterStateN(1) self.enterStateN(1)
def exitState1(self): def exitState1(self):
assert self.debugPrint("exitState1()") assert self.__debugPrint("exitState1()")
##### state 2 ##### ##### state 2 #####
def enterState2(self): def enterState2(self):
assert self.debugPrint("enterState2()") assert self.__debugPrint("enterState2()")
self.enterStateN(2) self.enterStateN(2)
def exitState2(self): def exitState2(self):
assert self.debugPrint("exitState2()") assert self.__debugPrint("exitState2()")
##### state 3 ##### ##### state 3 #####
def enterState3(self): def enterState3(self):
assert self.debugPrint("enterState3()") assert self.__debugPrint("enterState3()")
self.enterStateN(3) self.enterStateN(3)
def exitState3(self): def exitState3(self):
assert self.debugPrint("exitState3()") assert self.__debugPrint("exitState3()")
##### state 4 ##### ##### state 4 #####
def enterState4(self): def enterState4(self):
assert self.debugPrint("enterState4()") assert self.__debugPrint("enterState4()")
self.enterStateN(4) self.enterStateN(4)
self.changedOnState(1) self.changedOnState(1)
def exitState4(self): def exitState4(self):
assert self.debugPrint("exitState4()") assert self.__debugPrint("exitState4()")
self.changedOnState(0) self.changedOnState(0)
if __debug__: if __debug__:
def debugPrint(self, message): def __debugPrint(self, message):
"""for debugging""" """for debugging"""
return self.notify.debug("%d (%d) %s"%( return self.notify.debug("%d (%d) %s"%(
id(self), self.stateIndex==4, message)) id(self), self.stateIndex==4, message))

View File

@ -94,7 +94,7 @@ class FourStateAI:
oposite of 'on'). oposite of 'on').
""" """
self.stateIndex = 0 self.stateIndex = 0
assert self.debugPrint( assert self.__debugPrint(
"FourStateAI(names=%s, durations=%s)" "FourStateAI(names=%s, durations=%s)"
%(names, durations)) %(names, durations))
self.doLaterTask = None self.doLaterTask = None
@ -137,7 +137,7 @@ class FourStateAI:
self.fsm.enterInitialState() self.fsm.enterInitialState()
def delete(self): def delete(self):
assert self.debugPrint("delete()") assert self.__debugPrint("delete()")
if self.doLaterTask is not None: if self.doLaterTask is not None:
self.doLaterTask.remove() self.doLaterTask.remove()
del self.doLaterTask del self.doLaterTask
@ -145,15 +145,15 @@ class FourStateAI:
del self.fsm del self.fsm
def getState(self): def getState(self):
assert self.debugPrint("getState() returning %s"%(self.stateIndex,)) assert self.__debugPrint("getState() returning %s"%(self.stateIndex,))
return [self.stateIndex] return [self.stateIndex]
def sendState(self): def sendState(self):
assert self.debugPrint("sendState()") assert self.__debugPrint("sendState()")
self.sendUpdate('setState', self.getState()) self.sendUpdate('setState', self.getState())
def setIsOn(self, isOn): def setIsOn(self, isOn):
assert self.debugPrint("setIsOn(isOn=%s)"%(isOn,)) assert self.__debugPrint("setIsOn(isOn=%s)"%(isOn,))
if isOn: if isOn:
if self.stateIndex != 4: if self.stateIndex != 4:
# ...if it's not On; request turning on: # ...if it's not On; request turning on:
@ -170,7 +170,7 @@ class FourStateAI:
# self.fsm.request(self.states[nextState]) # self.fsm.request(self.states[nextState])
def isOn(self): def isOn(self):
assert self.debugPrint("isOn() returning %s (stateIndex=%s)"%(self.stateIndex==4, self.stateIndex)) assert self.__debugPrint("isOn() returning %s (stateIndex=%s)"%(self.stateIndex==4, self.stateIndex))
return self.stateIndex==4 return self.stateIndex==4
def changedOnState(self, isOn): def changedOnState(self, isOn):
@ -179,12 +179,12 @@ class FourStateAI:
The self.isOn value has toggled. Call getIsOn() to The self.isOn value has toggled. Call getIsOn() to
get the current state. get the current state.
""" """
assert self.debugPrint("changedOnState(isOn=%s)"%(isOn,)) assert self.__debugPrint("changedOnState(isOn=%s)"%(isOn,))
##### states ##### ##### states #####
def switchToNextStateTask(self, task): def switchToNextStateTask(self, task):
assert self.debugPrint("switchToNextStateTask()") assert self.__debugPrint("switchToNextStateTask()")
self.fsm.request(self.states[self.nextStateIndex]) self.fsm.request(self.states[self.nextStateIndex])
return Task.done return Task.done
@ -193,11 +193,11 @@ class FourStateAI:
This function is intentionaly simple so that derived classes This function is intentionaly simple so that derived classes
may easily alter the network message. may easily alter the network message.
""" """
assert self.debugPrint("distributeStateChange()") assert self.__debugPrint("distributeStateChange()")
self.sendState() self.sendState()
def enterStateN(self, stateIndex, nextStateIndex): def enterStateN(self, stateIndex, nextStateIndex):
assert self.debugPrint( assert self.__debugPrint(
"enterStateN(stateIndex=%s, nextStateIndex=%s)"% "enterStateN(stateIndex=%s, nextStateIndex=%s)"%
(stateIndex, nextStateIndex)) (stateIndex, nextStateIndex))
self.stateIndex = stateIndex self.stateIndex = stateIndex
@ -211,7 +211,7 @@ class FourStateAI:
"enterStateN-timer-%s"%id(self)) "enterStateN-timer-%s"%id(self))
def exitStateN(self): def exitStateN(self):
assert self.debugPrint("exitStateN()") assert self.__debugPrint("exitStateN()")
if self.doLaterTask: if self.doLaterTask:
taskMgr.remove(self.doLaterTask) taskMgr.remove(self.doLaterTask)
self.doLaterTask=None self.doLaterTask=None
@ -219,56 +219,56 @@ class FourStateAI:
##### state 0 ##### ##### state 0 #####
def enterState0(self): def enterState0(self):
assert self.debugPrint("enter0()") assert self.__debugPrint("enter0()")
self.enterStateN(0, 0) self.enterStateN(0, 0)
def exitState0(self): def exitState0(self):
assert self.debugPrint("exit0()") assert self.__debugPrint("exit0()")
##### state 1 ##### ##### state 1 #####
def enterState1(self): def enterState1(self):
#assert self.debugPrint("enterState1()") #assert self.__debugPrint("enterState1()")
self.enterStateN(1, 2) self.enterStateN(1, 2)
def exitState1(self): def exitState1(self):
assert self.debugPrint("exitState1()") assert self.__debugPrint("exitState1()")
self.exitStateN() self.exitStateN()
##### state 2 ##### ##### state 2 #####
def enterState2(self): def enterState2(self):
#assert self.debugPrint("enterState2()") #assert self.__debugPrint("enterState2()")
self.enterStateN(2, 3) self.enterStateN(2, 3)
def exitState2(self): def exitState2(self):
assert self.debugPrint("exitState2()") assert self.__debugPrint("exitState2()")
self.exitStateN() self.exitStateN()
##### state 3 ##### ##### state 3 #####
def enterState3(self): def enterState3(self):
#assert self.debugPrint("enterState3()") #assert self.__debugPrint("enterState3()")
self.enterStateN(3, 4) self.enterStateN(3, 4)
def exitState3(self): def exitState3(self):
assert self.debugPrint("exitState3()") assert self.__debugPrint("exitState3()")
self.exitStateN() self.exitStateN()
##### state 4 ##### ##### state 4 #####
def enterState4(self): def enterState4(self):
assert self.debugPrint("enterState4()") assert self.__debugPrint("enterState4()")
self.enterStateN(4, 1) self.enterStateN(4, 1)
self.changedOnState(1) self.changedOnState(1)
def exitState4(self): def exitState4(self):
assert self.debugPrint("exitState4()") assert self.__debugPrint("exitState4()")
self.exitStateN() self.exitStateN()
self.changedOnState(0) self.changedOnState(0)
if __debug__: if __debug__:
def debugPrint(self, message): def __debugPrint(self, message):
"""for debugging""" """for debugging"""
return self.notify.debug("%d (%d) %s"%( return self.notify.debug("%d (%d) %s"%(
id(self), self.stateIndex==4, message)) id(self), self.stateIndex==4, message))