void Add_CAkCommon(BNK_Relation Temp_Relation, int From_Line, int To_Line)
        {
            More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "<PropertyList>");
            int Add_Property_Mode = 0;

            for (int Number = From_Line; Number <= To_Line; Number++)
            {
                if (Read_All[Number].Contains("<object name=\"AkPropBundle&lt;AkPropValue,unsigned char&gt;\">"))
                {
                    Add_Property_Mode = 1;
                }
                else if (Read_All[Number].Contains("<object name=\"AkPropBundle&lt;RANGED_MODIFIERS&lt;AkPropValue&gt;&gt;\">"))
                {
                    Add_Property_Mode = 2;
                }
                if (Read_All[Number].Contains("valuefmt=\"0x06[MakeUpGain]\""))
                {
                    string strValue = Read_All[Number].Remove(0, Read_All[Number].IndexOf("value=\"") + 7);
                    strValue = strValue.Remove(strValue.LastIndexOf("\""));
                    More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "<Property Name=\"MakeUpGain\" Type=\"Real64\">");
                    More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "<ValueList>");
                    More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "<Value>" + strValue + "</Value>");
                    More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "</ValueList>");
                    More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "</Property>");
                    continue;
                }
                if (Read_All[Number].Contains("<object name=\"PositioningParams\">"))
                {
                    break;
                }
            }
        }
        void Add_CAkLayerCntr(BNK_Relation Temp_Relation, int From_Line, int To_Line)
        {
            string Temp_GUID = Guid.NewGuid().ToString().ToUpper();

            More_Class.List_Add(Actor_Mixer_Hierarchy_Project, "<ActorMixer Name=\"" + Temp_Relation.My + "\" ID=\"{" + Temp_GUID + "}\" ShortID=\"" + Temp_Relation.My + "\">");
            //
            Add_CAkCommon(Temp_Relation, From_Line, To_Line);
        }
 //以下の文字を指定した行に追加
 //GUIDやSourceIDはどんな数でも問題ないっぽいのでランダムに作成させる
 bool List_Add_File(int Line_Number, string FileName, string Language)
 {
     try
     {
         FileName = FileName.Replace(".wav", "");
         string Sound_GUID           = Guid.NewGuid().ToString().ToUpper();
         string AudioFileSource_GUID = Guid.NewGuid().ToString().ToUpper();
         string Replace_Name         = FileName.Replace(".", "_");
         uint   Sound_ID             = WwiseHash.HashGUID(Sound_GUID);
         uint   AudioFileSource_ID   = WwiseHash.HashGUID(AudioFileSource_GUID);
         //BGMはあとから変更できるように500000000から始まるように設定
         if (FileName.Contains("battle_bgm_"))
         {
             AudioFileSource_ID = (uint)(500000000 + Battle_Number);
             Battle_Number++;
         }
         More_Class.List_Init(Line_Number);
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<Sound Name=\"" + Replace_Name + "\" ID=\"{" + Sound_GUID + "}\" ShortID=\"" + Sound_ID + "\">");
         if (Language != "SFX")
         {
             More_Class.List_Add(Actor_Mixer_Hierarchy, "<PropertyList>");
             More_Class.List_Add(Actor_Mixer_Hierarchy, "<Property Name=\"IsVoice\" Type=\"bool\" Value=\"True\"/>");
             More_Class.List_Add(Actor_Mixer_Hierarchy, "</PropertyList>");
         }
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ReferenceList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<Reference Name=\"Conversion\">");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ObjectRef Name=\"Vorbis Quality High\" ID=\"{" + Vorbis_Quality_High_ID + "}\" WorkUnitID=\"{" + Vorbis_Quality_High_WorkID + "}\"/>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</Reference>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<Reference Name=\"OutputBus\">");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ObjectRef Name=\"Master Audio Bus\" ID=\"{" + Master_Audio_Bus_ID + "}\" WorkUnitID=\"{" + Master_Audio_Bus_WorkID + "}\"/>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</Reference>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</ReferenceList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ChildrenList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<AudioFileSource Name=\"" + Replace_Name + "\" ID=\"{" + AudioFileSource_GUID + "}\">");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<Language>" + Language + "</Language>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<AudioFile>" + FileName + ".wav</AudioFile>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<MediaIDList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<MediaID ID=\"" + AudioFileSource_ID + "\"/>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</MediaIDList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</AudioFileSource>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</ChildrenList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ActiveSourceList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "<ActiveSource Name=\"" + Replace_Name + "\" ID=\"{" + AudioFileSource_GUID + "}\" Platform=\"Linked\"/>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</ActiveSourceList>");
         More_Class.List_Add(Actor_Mixer_Hierarchy, "</Sound>");
         return(true);
     }
     catch (Exception e)
     {
         Sub_Code.Error_Log_Write(e.Message);
         return(false);
     }
 }
        void Set_Actor_Mixer_Container(BNK_Relation Temp_Relation)
        {
            int  From_Line = Temp_Relation.Line;
            int  To_Line;
            int  Temp_Line       = Temp_Relation.Line;
            uint OverWriteParent = Temp_Relation.Parent;
            bool IsNoParent      = Temp_Relation.Parent == 0 ? true : false;

            while (true)
            {
                Temp_Line++;
                if (Read_All.Count - 1 == Temp_Line)
                {
                    To_Line = Temp_Line - 1;
                    break;
                }
                if (Read_All[Temp_Line].Contains("type=\"u8\" name=\"eHircType\""))
                {
                    To_Line = Temp_Line - 4;
                    break;
                }
            }
            int Write_Start_Line = -1;

            if (IsNoParent)
            {
                Write_Start_Line = 4;
            }
            else
            {
                for (int Number_01 = 0; Number_01 < Actor_Mixer_Child_Line.Count; Number_01++)
                {
                    if (Actor_Mixer_Child_Line[Number_01][0] == OverWriteParent)
                    {
                        Write_Start_Line = (int)Actor_Mixer_Child_Line[Number_01][1];
                        break;
                    }
                }
            }
            if (Write_Start_Line == -1)
            {
                return;
            }
            string Type = Temp_Relation.Type;

            if (Type == "CAkLayerCntr")
            {
                More_Class.List_Init(Write_Start_Line + 1);
            }
        }
 //取得したデータから指定したイベントにサウンドを追加(Save()が呼ばれるまで保存しない)
 public bool Add_Sound(string Container_ShortID, string Audio_File, string Language)
 {
     if (!File.Exists(Audio_File) || Path.GetExtension(Audio_File) != ".wav" || Project_Dir == "")
     {
         return(false);
     }
     try
     {
         if (Language == "SFX")
         {
             File.Copy(Audio_File, Project_Dir + "/Originals/SFX/" + Path.GetFileName(Audio_File), true);
             Add_Wav_Files.Add(Project_Dir + "/Originals/SFX/" + Path.GetFileName(Audio_File));
         }
         else
         {
             File.Copy(Audio_File, Project_Dir + "/Originals/Voices/" + Language + "/" + Path.GetFileName(Audio_File), true);
             Add_Wav_Files.Add(Project_Dir + "/Originals/Voices/" + Language + "/" + Path.GetFileName(Audio_File));
         }
         int ShortID_Line = 0;
         for (int Number = 0; Number < Actor_Mixer_Hierarchy.Count; Number++)
         {
             if (Actor_Mixer_Hierarchy[Number].Contains("ShortID=\"" + Container_ShortID + "\""))
             {
                 ShortID_Line = Number;
                 break;
             }
         }
         if (ShortID_Line == 0)
         {
             return(false);
         }
         int ChildrenList_Line     = 0;
         int ReferenceListEnd_Line = 0;
         for (int Number = ShortID_Line; Number < Actor_Mixer_Hierarchy.Count; Number++)
         {
             if (Actor_Mixer_Hierarchy[Number].Contains("<ChildrenList>"))
             {
                 ChildrenList_Line = Number;
                 break;
             }
             if (Actor_Mixer_Hierarchy[Number].Contains("</ReferenceList>"))
             {
                 ReferenceListEnd_Line = Number;
             }
             if (Actor_Mixer_Hierarchy[Number].Contains("</RandomSequenceContainer>"))
             {
                 break;
             }
         }
         if (ChildrenList_Line == 0 && ReferenceListEnd_Line == 0)
         {
             return(false);
         }
         else if (ChildrenList_Line == 0)
         {
             More_Class.List_Init(ReferenceListEnd_Line + 1);
             More_Class.List_Add(Actor_Mixer_Hierarchy, "<ChildrenList>");
             More_Class.List_Add(Actor_Mixer_Hierarchy, "</ChildrenList>");
             return(List_Add_File(ReferenceListEnd_Line + 2, Path.GetFileName(Audio_File), Language));
         }
         else
         {
             return(List_Add_File(ChildrenList_Line + 1, Path.GetFileName(Audio_File), Language));
         }
     }
     catch
     {
         return(false);
     }
 }