diff --git a/src/main/java/me/bvn13/fsm/Fsm.java b/src/main/java/me/bvn13/fsm/Fsm.java index 39b1a81..f724986 100644 --- a/src/main/java/me/bvn13/fsm/Fsm.java +++ b/src/main/java/me/bvn13/fsm/Fsm.java @@ -149,9 +149,9 @@ public class Fsm { return; } currentState.process(event); - currentState.afterEvent(); if (currentState.isFinish()) { done = true; + currentState.afterEvent(); return; } switchToNextState(event); @@ -278,6 +278,7 @@ public class Fsm { } private void nextState(State state, E event) { + currentState.afterEvent(); previousState = currentState; currentState = state; currentState.beforeEvent();