private void WriteBattleLog()
        {
            if (!Utility.Configuration.Config.Log.SaveBattleLog)
            {
                return;
            }

            try
            {
                string parent = BattleLogPath;

                if (!Directory.Exists(parent))
                {
                    Directory.CreateDirectory(parent);
                }

                string info;
                if (IsPractice)
                {
                    info = "practice";
                }
                else
                {
                    info = $"{Compass.MapAreaID}-{Compass.MapInfoID}-{Compass.Destination}";
                }

                string path = $"{parent}\\{DateTimeHelper.GetTimeStamp()}@{info}.txt";

                using (var sw = new StreamWriter(path, false, Utility.Configuration.Config.Log.FileEncoding))
                {
                    sw.Write(BattleDetailDescriptor.GetBattleDetail(this));
                }
            }
            catch (Exception ex)
            {
                Utility.ErrorReporter.SendErrorReport(ex, "戦闘ログの出力に失敗しました。");
            }
        }