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, "戦闘ログの出力に失敗しました。"); } }