From ca49753375c27855d019c92dfaec49aadfd30519 Mon Sep 17 00:00:00 2001 From: Bill Hilbert Date: Thu, 14 Dec 2023 20:54:05 -0500 Subject: [PATCH 1/2] state_machine: include prev_state_name --- state_machine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/state_machine.lua b/state_machine.lua index c5c28af..cce97cf 100644 --- a/state_machine.lua +++ b/state_machine.lua @@ -33,6 +33,7 @@ local state_machine = class({ function state_machine:new(states, start_in_state) self.states = states or {} self.current_state_name = "" + self.prev_state_name = "" self.reset_state_name = start_in_state or "" self:reset() end @@ -151,6 +152,7 @@ end function state_machine:set_state(name, reset) if self.current_state_name ~= name or reset then self:_call("exit") + self.prev_state_name = self.current_state_name self.current_state_name = name self:_call_and_transition("enter", self) end From b68713a143b513cf790f6d61d6ddfd8efb0c3003 Mon Sep 17 00:00:00 2001 From: Bill Hilbert Date: Sun, 17 Dec 2023 23:38:30 -0500 Subject: [PATCH 2/2] format document --- state_machine.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/state_machine.lua b/state_machine.lua index cce97cf..fcebed1 100644 --- a/state_machine.lua +++ b/state_machine.lua @@ -33,7 +33,7 @@ local state_machine = class({ function state_machine:new(states, start_in_state) self.states = states or {} self.current_state_name = "" - self.prev_state_name = "" + self.prev_state_name = "" self.reset_state_name = start_in_state or "" self:reset() end @@ -88,7 +88,7 @@ end --add a state function state_machine:add_state(name, state) if self:has_state(name) then - error("error: added duplicate state "..name) + error("error: added duplicate state " .. name) else self.states[name] = state if self:in_state(name) then @@ -102,7 +102,7 @@ end --remove a state function state_machine:remove_state(name) if not self:has_state(name) then - error("error: removed missing state "..name) + error("error: removed missing state " .. name) else if self:in_state(name) then self:_call("exit") @@ -152,7 +152,7 @@ end function state_machine:set_state(name, reset) if self.current_state_name ~= name or reset then self:_call("exit") - self.prev_state_name = self.current_state_name + self.prev_state_name = self.current_state_name self.current_state_name = name self:_call_and_transition("enter", self) end