StonehearthEditor.GameMasterDataManager.ParseNodeGraph C# (CSharp) Method

ParseNodeGraph() private method

private ParseNodeGraph ( string moduleName, string folderPath ) : void
moduleName string
folderPath string
return void
        private void ParseNodeGraph(string moduleName, string folderPath)
        {
            List<string> nodeFiles = new List<string>();
            SearchForFileType(folderPath, "*.json", nodeFiles);
            Dictionary<string, GameMasterNode> addedNodes = new Dictionary<string, GameMasterNode>();
            foreach (string filepath in nodeFiles)
            {
                GameMasterNode file = new GameMasterNode(moduleName, filepath);
                addedNodes.Add(file.Path, file);
            }

            foreach (GameMasterNode node in addedNodes.Values)
            {
                node.Load(addedNodes);
            }

            CampaignNodeData currentCampaignData = null;
            foreach (GameMasterNode node in addedNodes.Values)
            {
                if (node.NodeType == GameMasterNodeType.CAMPAIGN)
                {
                    currentCampaignData = node.NodeData as CampaignNodeData;
                    mCampaignNodes.Add(node);
                }
                else if (node.Owner == null)
                {
                    currentCampaignData.OrphanedNodes.Add(node);
                }
            }

            mGameMasterNodes = mGameMasterNodes.Concat(addedNodes).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
        }