Exemple #1
0
            public void Write(ConversationNode <TNodeUI, TTransitionUI> condition)
            {
                var id   = new XAttribute("Id", condition.Id.ToString());
                var guid = new XAttribute("Guid", condition.Guid.ToString());
                var node = new XElement("Node", id, guid);

                m_nodeUISerializer.Write(condition.Renderer, node); //TODO: Bad cast
                //WriteArea(condition, node);
                WriteLinks(condition, node);
                foreach (var parameter in condition.Parameters)
                {
                    var p = new XElement("Parameter", new XAttribute("guid", parameter.Guid), new XAttribute("value", parameter.ValueAsString()));
                    node.Add(p);
                }
                m_root.Add(node);
            }
Exemple #2
0
            //private void WriteOutputs(IEditable ng, XElement node)
            //{
            //    foreach (var n in ng.Outputs())
            //    {
            //        var guid = new XAttribute("guid", n.ID.Serialized());
            //        var outputNode = new XElement("Output", guid);
            //        foreach (var link in n.Connections)
            //        {
            //            var to = new XAttribute("To", link.Parent.NodeID.Serialized());
            //            var linkNode = new XElement("Link", to);
            //            outputNode.Add(linkNode);
            //        }
            //        node.Add(outputNode);
            //    }
            //}

            //private void WriteConnectors(IEditable a, XElement node)
            //{
            //    foreach (var n in a.Connectors)
            //    {
            //        var guid = new XAttribute("guid", n.ID.Serialized());
            //        var outputNode = new XElement("Connector", guid);
            //        node.Add(outputNode);
            //    }
            //}

            private void Write(GraphAndUI <TUIRawData> con, XElement root)
            {
                var id   = new XAttribute("Id", con.GraphData.NodeId.Serialized());
                var guid = new XAttribute("Guid", con.GraphData.NodeTypeId.Serialized());
                var node = new XElement("Node", id, guid);

                m_nodeUISerializer.Write(con.UIData, node);
                //WriteOutputs(con.GraphData, node);
                //WriteConnectors(con.GraphData, node);
                foreach (var parameter in con.GraphData.Parameters)
                {
                    var value = parameter.ValueAsString();
                    if (value != null)
                    {
                        var p = new XElement("Parameter", new XAttribute("guid", parameter.Id.Serialized()), new XAttribute("value", value));
                        node.Add(p);
                    }
                }
                root.Add(node);
            }