package framework.scenario; import java.util.Hashtable; public class ScenarioFSM extends FSM { ScenarioManager manager; public ScenarioFSM(State initialState, Hashtable<String, State> states, ScenarioManager manager) { super(initialState, states); this.manager = manager; } public boolean trans(Event e) { e = ((ScenarioState)currentState).canTrans(e); if (e == null) return false; ScenarioAction action = ((ScenarioState)currentState).getAction(e); boolean result = super.trans(e); manager.action(action, e, (ScenarioState)currentState); return result; } }