GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Transition Transition
GMIKE edited this page
You can add transition set states object or states name //Throw exeption if transition already exist Transition transition1 = stateMachine.AddTransition("Transition1", state1, state2); Transition transition1 = stateMachine.AddTransition("Transition1", "state1", state2); Transition transition1 = stateMachine.AddTransition("Transition1", state1, "state2"); Transition transition1 = stateMachine.AddTransition("Transition1", "state1", "state2"); //Return null if transition already exist Transition transition1 = stateMachine.TryAddTransition(out bool result, "Transition1", state1, state2); Transition transition1 = stateMachine.TryAddTransition(out bool result, "Transition1", "state1", state2); Transition transition1 = stateMachine.TryAddTransition(out bool result, "Transition1", state1, "state2"); Transition transition1 = stateMachine.TryAddTransition(out bool result, "Transition1", "state1", "state2"); You can add transition from this state //Throw exeption if transition already exist //Add transition from state1 to state2 Transition transition1 = state1.AddTransitionFromThis("Transition1", state2); Transition transition1 = state1.AddTransitionFromThis("Transition1", "state2"); //Return null if transition already exist Transition transition1 = state1.TryAddTransitionFromThis(out bool result, "Transition1", state2); Transition transition1 = state1.TryAddTransitionFromThis(out bool result, "Transition1", "state2"); You can add transition to this state //Throw exeption if transition already exist //Add transition from state1 to state2 Transition transition1 = state2.AddTransitionToThis("Transition1", state1); Transition transition1 = state2.AddTransitionToThis("Transition1", "state1"); //Return null if transition already exist Transition transition1 = state2.TryAddTransitionToThis(out bool result, "Transition1", state1); Transition transition1 = state2.TryAddTransitionToThis(out bool result, "Transition1", "state1"); //Throw exeption if transition not found Transition transition1 = stateMachine.GetTransition("Transition1"); //Return null if transition not found Transition transition1 = stateMachine.TryGetTransition("Transition1", out bool result); You can get all transitions from this state //From state machine //Throw exeption if transitions not found Dictionary<string, Transition> transitions = stateMachine.GetTransitionsFromState(state1); Dictionary<string, Transition> transitions = stateMachine.GetTransitionsFromState("State1"); //Return empty dictionary if transitions not found Dictionary<string, Transition> transitions = stateMachine.TryGetTransitionsFromState(state1, out bool result); Dictionary<string, Transition> transitions = stateMachine.TryGetTransitionsFromState("State1", out bool result); //From state //Throw exeption if transitions not found Dictionary<string, Transition> transitions = state1.GetTransitionsFromThis(); //Return empty dictionary if transitions not found Dictionary<string, Transition> transitions = state1.TryGetTransitionsFromThis(out bool result); You can get all transitions to this state //From state machine //Throw exeption if transitions not found Dictionary<string, Transition> transitions = stateMachine.GetTransitionsToState(state2); Dictionary<string, Transition> transitions = stateMachine.GetTransitionsToState("State2"); //Return empty dictionary if transitions not found Dictionary<string, Transition> transitions = stateMachine.GetTransitionsToState(state2, out bool result); Dictionary<string, Transition> transitions = stateMachine.GetTransitionsToState("State2", out bool result); //From state //Throw exeption if transitions not found Dictionary<string, Transition> transitions = state2.GetTransitionsToThis(); //Return empty dictionary if transitions not found Dictionary<string, Transition> transitions = state2.TryGetTransitionsToThis(out bool result); //You can check on exists bool Transition1IsExists = stateMachine.TransitionExists("Transition1") //Throw exeption if transition not found stateMachine.DeleteTransition("Transition1"); stateMachine.TryDeleteTransition("Transition1"); //Throw exeption if transition not found stateMachine.DeleteTransition(transition1); stateMachine.TryDeleteTransition(transition1); //Throw exeption if transition already delete from state machine transition1.Delete(); transition1.TryDelete(out bool result); Triggered on transition from state. You can set many action for one transition void ActionOnInvoke(Transition transition, Dictionary<string, object> parameters) { } //you can set action with add Transition transition1 = stateMachine.AddTransition("Transition1", state1, state2, ActionOnInvoke); //you can set action after add Transition transition1 = stateMachine.AddTransition("Transition1", state1, state2).OnInvoke(ActionOnInvoke); transition1.OnInvoke(ActionOnInvoke); Transition invoke after entry and exit state (state from for transition) events state.StateMachine.InvokeTransition("Transition1"); state.StateMachine.InvokeTransition(transition1); transition1.Invoke(); You can add parameters for invoke transition.
Parameters it's collection of keys and values //Example Dictionary<string, object> parameters = new Dictionary<string, object>() { { "Key1", Value1 } }; You can set parameters with invoke StateMachine.InvokeTransition("Transition1", parameters); After invoke StateMachine.InvokeTransition("Transition3").AddParameters(parameters); You can add parameters one by one StateMachine.InvokeTransition("Transition3").AddParameter("Key1", Value1).AddParameter("Key2", Value1) Or mixed addition StateMachine.InvokeTransition("Transition1", parameters).AddParameter("Key1", Value1).AddParameters(parameters2).AddParameter("Key2", Value2); |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |