Exemple #1
0
            /// <summary>
            /// Clone constructor
            /// </summary>
            private StateRepresentation(TState state,
                                        IEnumerable <KeyValuePair <TTrigger, ICollection <TriggerBehaviour> > > triggerBehaviours,
                                        IEnumerable <Action <Transition, object[]> > entryActions,
                                        IEnumerable <Action <Transition> > exitActions,
                                        StateRepresentation superstate,
                                        IEnumerable <StateRepresentation> substates)
            {
                _state = state;

                foreach (var behaviour in triggerBehaviours)
                {
                    _triggerBehaviours.Add(behaviour);
                }

                foreach (var action in entryActions)
                {
                    _entryActions.Add(action);
                }

                foreach (var action in exitActions)
                {
                    _exitActions.Add(action);
                }

                if (superstate != null)
                {
                    _superstate = superstate.Clone();
                }

                foreach (var substate in substates)
                {
                    _substates.Add(substate.Clone());
                }
            }