Exemple #1
0
        public List <UPNodeBase> LoadNodeData(JsonTextReader reader)
        {
            loadedNodes.Clear();
            while (reader.Read() && reader.TokenType != JsonToken.EndArray)
            {
                UPNodeBase node     = null;
                NodeType   nodeType = (NodeType)(long)reader.Value;
                switch (nodeType)
                {
                case NodeType.Root:
                    node = new RootNode();
                    break;

                case NodeType.Dialog:
                    node = new UPNode();
                    break;

                case NodeType.Condition:
                    node = new UPNodeCondition();
                    break;

                case NodeType.Trigger:
                    node = new UPNodeTrigger();
                    break;

                default:
                    node = new UPNode();
                    break;
                }
                reader.Read();

                node.nodeID = (int)(long)reader.Value;
                reader.Read();

                node.DialogText = (string)reader.Value;
                reader.Read();

                node.Actor = (string)reader.Value;
                reader.Read();



                node.Translate.X = (double)reader.Value + canvasHalfWidth;
                Console.Write(node.Translate.X);
                reader.Read();

                node.Translate.Y = (double)reader.Value + canvasHalfHeight;
                Console.WriteLine(node.Translate.Y);

                loadedNodes.Add(node.nodeID, node);
            }
            return(loadedNodes.Values.ToList());
        }
Exemple #2
0
        public void SaveNodeData(UPNodeBase node, JsonWriter writer)
        {
            //Save node type information
            writer.WriteValue(node.GetNodeType());

            //Save node id
            writer.WriteValue(node.nodeID);

            //Save Dialog
            writer.WriteValue(node.DialogText);

            ////Save Speaker Name
            writer.WriteValue(node.Actor);

            ////Save Node Position
            writer.WriteValue(node.Translate.X - canvasHalfWidth);
            writer.WriteValue(node.Translate.Y - canvasHalfHeight);
        }