mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
*** empty log message ***
This commit is contained in:
parent
3f443075ad
commit
dc7288d02e
@ -92,7 +92,8 @@ class FSM(DirectObject):
|
|||||||
for state in self.__states:
|
for state in self.__states:
|
||||||
if (state.getName() == stateName):
|
if (state.getName() == stateName):
|
||||||
return state
|
return state
|
||||||
FSM.notify.warning("getStateNamed: " + str(stateName) + " no such state")
|
FSM.notify.warning("[%s] : getStateNamed: %s no such state" %
|
||||||
|
(self.__name, str(stateName)))
|
||||||
|
|
||||||
|
|
||||||
# basic FSM functionality
|
# basic FSM functionality
|
||||||
@ -100,7 +101,8 @@ class FSM(DirectObject):
|
|||||||
def __exitCurrent(self, argList):
|
def __exitCurrent(self, argList):
|
||||||
"""__exitCurrent(self)
|
"""__exitCurrent(self)
|
||||||
Exit the current state"""
|
Exit the current state"""
|
||||||
FSM.notify.debug("exiting %s" % self.__currentState.getName())
|
FSM.notify.debug("[%s]: exiting %s" % (self.__name,
|
||||||
|
self.__currentState.getName()))
|
||||||
self.__currentState.exit(argList)
|
self.__currentState.exit(argList)
|
||||||
messenger.send(self.getName() + '_' +
|
messenger.send(self.getName() + '_' +
|
||||||
self.__currentState.getName() + '_exited')
|
self.__currentState.getName() + '_exited')
|
||||||
@ -110,13 +112,14 @@ class FSM(DirectObject):
|
|||||||
"""__enter(self, State)
|
"""__enter(self, State)
|
||||||
Enter a given state, if it exists"""
|
Enter a given state, if it exists"""
|
||||||
if (aState in self.__states):
|
if (aState in self.__states):
|
||||||
FSM.notify.debug("entering %s" % aState.getName())
|
FSM.notify.debug("[%s]: entering %s" % (self.__name,
|
||||||
|
aState.getName()))
|
||||||
self.__currentState = aState
|
self.__currentState = aState
|
||||||
messenger.send(self.getName() + '_' +
|
messenger.send(self.getName() + '_' +
|
||||||
aState.getName() + '_entered')
|
aState.getName() + '_entered')
|
||||||
aState.enter(argList)
|
aState.enter(argList)
|
||||||
else:
|
else:
|
||||||
FSM.notify.error("enter: no such state")
|
FSM.notify.error("[%s]: enter: no such state" % self.__name)
|
||||||
|
|
||||||
def __transition(self, aState, enterArgList=[], exitArgList=[]):
|
def __transition(self, aState, enterArgList=[], exitArgList=[]):
|
||||||
"""__transition(self, State, enterArgList, exitArgList)
|
"""__transition(self, State, enterArgList, exitArgList)
|
||||||
@ -137,13 +140,15 @@ class FSM(DirectObject):
|
|||||||
return 1
|
return 1
|
||||||
# We can implicitly always transition to our final state.
|
# We can implicitly always transition to our final state.
|
||||||
elif (aStateName == self.__finalState.getName()):
|
elif (aStateName == self.__finalState.getName()):
|
||||||
FSM.notify.debug("implicit transition to final state: %s" % aStateName)
|
FSM.notify.debug("[%s]: implicit transition to final state: %s" %
|
||||||
|
(self.__name, aStateName))
|
||||||
self.__transition(self.getStateNamed(aStateName),
|
self.__transition(self.getStateNamed(aStateName),
|
||||||
enterArgList,
|
enterArgList,
|
||||||
exitArgList)
|
exitArgList)
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
FSM.notify.debug("no transition exists to %s" % aStateName)
|
FSM.notify.debug("[%s]: no transition exists to %s" %
|
||||||
|
(self.__name, aStateName))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user