StonehearthEditor.EncounterNodeData.AddOutEdgesRecursive C# (CSharp) Method

AddOutEdgesRecursive() private method

private AddOutEdgesRecursive ( JToken outEdgeSpec, List list ) : void
outEdgeSpec JToken
list List
return void
        private void AddOutEdgesRecursive(JToken outEdgeSpec, List<string> list)
        {
            if (!(outEdgeSpec is JValue))
            {
                string specType = outEdgeSpec["type"].ToString();
                switch (specType)
                {
                    case "trigger_one":
                    case "trigger_many":
                        JToken outEdges = outEdgeSpec["out_edges"];
                        IList<JToken> results = outEdges.ToList();
                        foreach (JToken child in results)
                        {
                            AddOutEdgesRecursive(child, list);
                        }

                        break;
                    case "weighted_edge":
                        JToken outEdge = outEdgeSpec["out_edge"];
                        AddOutEdgesRecursive(outEdge, list);
                        break;
                }
            }
            else
            {
                list.Add(outEdgeSpec.ToString());
            }
        }