/// <summary>
 /// 会話ノードファイルのマージ
 /// </summary>
 /// <param name="convNodeFile">会話ノードファイル</param>
 public void MargeFile(MieConversationNodeFile convNodeFile)
 {
     //// 会話ノードの追加
     foreach (var newNode in convNodeFile.FlatNodes.Values)
     {
         this.AddFlatNodeEntry(newNode);
     }
 }
 public MieConversationNodeFile GetNodeFile(long fileCode)
 {
     if (this.Files.ContainsKey(fileCode))
     {
         var result = this.Files[fileCode];
         return(result);
     }
     else
     {
         var nodeFile = new MieConversationNodeFile(fileCode);
         this.Files.Add(nodeFile.FileCode, nodeFile);
         return(nodeFile);
     }
 }
        /// <summary>
        /// 会話ファイルを追加する。
        /// 会話ファイルがすでに存在する場合は会話ファイル内の会話エントリーをマージする。
        /// </summary>
        /// <param name="conversationsNodeFile">会話ファイル</param>
        public void AddFile(MieConversationNodeFile conversationsNodeFile)
        {
            if (conversationsNodeFile == null)
            {
                var msg = $"MieConversationNodeFile is null.";
                logger.Fatal(msg);
                throw new Exception(msg);
            }

            if (this.Files.ContainsKey(conversationsNodeFile.FileCode))
            {
                //// すでにクエストファイルが存在する場合は、エントリーをマージする。
                var file = this.Files[conversationsNodeFile.FileCode];
                file.MargeFile(conversationsNodeFile);
            }
            else
            {
                this.Files.Add(conversationsNodeFile.FileCode, conversationsNodeFile);
            }
        }