StonehearthEditor.GameMasterNode.Clone C# (CSharp) Method

Clone() public method

public Clone ( string newFileName ) : GameMasterNode
newFileName string
return GameMasterNode
        public GameMasterNode Clone(string newFileName)
        {
            try
            {
                string newPath = mDirectory + '/' + newFileName + ".json";
                GameMasterNode newNode = new GameMasterNode(mModule, newPath);
                newNode.IsModified = true;
                NodeData newNodeData = NodeData.Clone(newNode);
                newNodeData.NodeFile = newNode;
                newNode.mNodeData = newNodeData;
                newNode.mNodeType = NodeType;
                newNode.mJsonFileData = new JsonFileData(newNode.Path);
                newNode.mJsonFileData.TrySetFlatFileData(Json.ToString());
                return newNode;
            }
            catch (Exception e)
            {
                MessageBox.Show("Unable to clone Game Master Node to " + newFileName + ". Error: " + e.Message);
            }

            return null;
        }

Usage Example

        public bool CloneNode(IGraphOwner graphOwner, GameMasterNode original, string cloneName)
        {
            GameMasterNode newNode = original.Clone(cloneName);

            mGameMasterNodes.Add(newNode.Path, newNode);

            if (newNode.Owner == null)
            {
                CampaignNodeData campaignNodeData = mCurrentGraphRoot.NodeData as CampaignNodeData;
                campaignNodeData.OrphanedNodes.Add(newNode);
                newNode.Owner = mCurrentGraphRoot;
            }

            RefreshGraph(graphOwner);
            return(false);
        }
All Usage Examples Of StonehearthEditor.GameMasterNode::Clone