StonehearthEditor.GameMasterNode.OnFileChanged C# (CSharp) Method

OnFileChanged() public method

public OnFileChanged ( GameMasterNode>.Dictionary allNodes ) : void
allNodes GameMasterNode>.Dictionary
return void
        public void OnFileChanged(Dictionary<string, GameMasterNode> allNodes)
        {
            JToken fileTypeToken = Json["type"];
            string fileType = fileTypeToken != null ? fileTypeToken.ToString().ToUpper() : "";
            GameMasterNodeType newNodeType = GameMasterNodeType.UNKNOWN;
            foreach (GameMasterNodeType nodeType in Enum.GetValues(typeof(GameMasterNodeType)))
            {
                if (fileType.Equals(nodeType.ToString()))
                {
                    newNodeType = nodeType;
                }
            }

            if (newNodeType != mNodeType)
            {
                mNodeType = newNodeType;
                switch (mNodeType)
                {
                    case GameMasterNodeType.ENCOUNTER:
                        mNodeData = new EncounterNodeData();
                        break;
                    case GameMasterNodeType.ARC:
                        mNodeData = new ArcNodeData();
                        break;
                    case GameMasterNodeType.CAMPAIGN:
                        mNodeData = new CampaignNodeData();
                        break;
                    case GameMasterNodeType.CAMP_PIECE:
                        mNodeData = new CampPieceNodeData();
                        break;
                    default:
                        Console.WriteLine("unknown encounter node type for file " + Path);
                        mNodeData = new UnknownNodeData();
                        break;
                }
            }

            if (mNodeData != null)
            {
                mNodeData.NodeFile = this;
                mNodeData.LoadData(allNodes);
            }
        }

Usage Example

 public void TryModifyJson(IGraphOwner graphOwner, GameMasterNode node, string newJsonString)
 {
     if (node.TryModifyJson(newJsonString))
     {
         node.OnFileChanged(mGameMasterNodes);
         RefreshGraph(graphOwner);
     }
 }
All Usage Examples Of StonehearthEditor.GameMasterNode::OnFileChanged