mirror of
https://github.com/1bardesign/batteries.git
synced 2024-11-10 02:31:48 +00:00
state_machine: include prev_state_name
This commit is contained in:
parent
2d0abbd021
commit
ca49753375
@ -33,6 +33,7 @@ local state_machine = class({
|
|||||||
function state_machine:new(states, start_in_state)
|
function state_machine:new(states, start_in_state)
|
||||||
self.states = states or {}
|
self.states = states or {}
|
||||||
self.current_state_name = ""
|
self.current_state_name = ""
|
||||||
|
self.prev_state_name = ""
|
||||||
self.reset_state_name = start_in_state or ""
|
self.reset_state_name = start_in_state or ""
|
||||||
self:reset()
|
self:reset()
|
||||||
end
|
end
|
||||||
@ -151,6 +152,7 @@ end
|
|||||||
function state_machine:set_state(name, reset)
|
function state_machine:set_state(name, reset)
|
||||||
if self.current_state_name ~= name or reset then
|
if self.current_state_name ~= name or reset then
|
||||||
self:_call("exit")
|
self:_call("exit")
|
||||||
|
self.prev_state_name = self.current_state_name
|
||||||
self.current_state_name = name
|
self.current_state_name = name
|
||||||
self:_call_and_transition("enter", self)
|
self:_call_and_transition("enter", self)
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user