Exemplo n.º 1
0
        public void ReadTransitionalTarget(TransitionalTarget state)
        {
            //if (CurrentNode.Name == RootNodeName)
            state.Name = ReadAttributeValue <string>("name", null);
            //else
            //    state.Name = ReadAttributeValue<string>("name");



            foreach (XmlNode child in FilterChildNodeType(FSMNamespace))
            {
                ReadStartNode(child);
                switch (child.LocalName)
                {
                case "params":
                    foreach (var p in ReadParameters())
                    {
                        state.AddParamerter(p);
                        context.AddParameter(p.Type, p.Name);
                    }
                    break;

                case "onEntry":
                    state.AddOnEntry(ReadStateOnEntry());
                    break;

                case "onExit":
                    state.AddOnExit(ReadStateOnExit());
                    break;
                }
                ReadEndNode();
            }

            foreach (var action in ReadActions(FilterChildNodeType().Where(o => IsAction(o))))
            {
                state.AddAction(action);
            }
        }