mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 17:35:34 -04:00
added forceTransition
This commit is contained in:
parent
6cb8258b41
commit
19f7b146df
@ -192,7 +192,8 @@ class FSM(DirectObject):
|
||||
self.__enter(aState, enterArgList)
|
||||
assert(not self.__internalStateInFlux)
|
||||
|
||||
def request(self, aStateName, enterArgList=[], exitArgList=[]):
|
||||
def request(self, aStateName, enterArgList=[], exitArgList=[],
|
||||
force=0):
|
||||
"""request(self, string)
|
||||
Attempt transition from currentState to given one.
|
||||
Return true is transition exists to given state,
|
||||
@ -224,7 +225,7 @@ class FSM(DirectObject):
|
||||
FSM.notify.error("[%s]: request: %s, no such state" %
|
||||
(self.__name, aStateName))
|
||||
|
||||
if (aStateName in self.__currentState.getTransitions()):
|
||||
if force or (aStateName in self.__currentState.getTransitions()):
|
||||
self.__transition(aState,
|
||||
enterArgList,
|
||||
exitArgList)
|
||||
@ -261,6 +262,10 @@ class FSM(DirectObject):
|
||||
return 0
|
||||
|
||||
|
||||
def forceTransition(self, aStateName, enterArgList=[], exitArgList=[]):
|
||||
""" force a transition """
|
||||
self.request(aStateName, enterArgList, exitArgList, force=1)
|
||||
|
||||
def conditional_request(self, aStateName, enterArgList=[], exitArgList=[]):
|
||||
"""request(self, string)
|
||||
Attempt transition from currentState to given one, if it exists.
|
||||
|
Loading…
x
Reference in New Issue
Block a user