@@ -125,6 +125,7 @@ public class FileManager
125125 public bool FilenameUpdated { get ; set ; }
126126 //public virtual object MapData { get; set; }
127127 public SettingsManager Settings { get ; set ; }
128+ public SavingMode SaveMode { get ; set ; }
128129 public FileManager ( GameMode _mode )
129130 {
130131 LoadedMapPath = "" ;
@@ -134,6 +135,7 @@ public FileManager(GameMode _mode)
134135 ManagerMode = _mode ;
135136 MapDataMQ = new ( ) ;
136137 MapDataFF = new ( ) ;
138+ SaveMode = SavingMode . SaveAs ;
137139
138140 if ( ManagerMode == GameMode . FFR )
139141 {
@@ -233,19 +235,22 @@ public virtual void WriteFile(Stream file, WriteFormat format)
233235 {
234236 using var stream = new BinaryWriter ( file ) ;
235237 stream . Write ( MapDataFF . DecodeMap ( ) ) ;
238+ stream . Close ( ) ;
236239 }
237240 else
238241 {
239242 string serializedOwData = JsonSerializer . Serialize < OwMapExchangeData > ( MapDataFF , new JsonSerializerOptions { WriteIndented = true } ) ;
240243 using var stream = new StreamWriter ( file ) ;
241244 stream . Write ( serializedOwData ) ;
245+ stream . Close ( ) ;
242246 }
243247 }
244248 else if ( ManagerMode == GameMode . FFMQ )
245249 {
246250 string serializedOwData = GetJsonString ( ) ;
247251 using var stream = new StreamWriter ( file ) ;
248252 stream . Write ( serializedOwData ) ;
253+ stream . Close ( ) ;
249254 }
250255 }
251256 public virtual void ReadFile ( Stream file , WriteFormat format )
@@ -256,6 +261,7 @@ public virtual void ReadFile(Stream file, WriteFormat format)
256261 {
257262 using var stream = new BinaryReader ( file ) ;
258263 var dataarray = stream . ReadBytes ( 0x10000 ) ;
264+ stream . Close ( ) ;
259265
260266 MapDataFF = new ( ) ;
261267 MapDataFF . EncodeMapFromBytes ( dataarray ) ;
@@ -264,6 +270,7 @@ public virtual void ReadFile(Stream file, WriteFormat format)
264270 {
265271 using var stream = new StreamReader ( file ) ;
266272 var jsonstring = stream . ReadToEnd ( ) ;
273+ stream . Close ( ) ;
267274
268275 MapDataFF = JsonSerializer . Deserialize < OwMapExchangeData > ( jsonstring ) ;
269276 }
@@ -272,6 +279,7 @@ public virtual void ReadFile(Stream file, WriteFormat format)
272279 {
273280 using var stream = new StreamReader ( file ) ;
274281 var jsonstring = stream . ReadToEnd ( ) ;
282+ stream . Close ( ) ;
275283 LoadMapData ( jsonstring ) ;
276284 }
277285 }
@@ -301,11 +309,13 @@ private void ProcessTasksFF(CanvasFFR map, TaskManager tasks)
301309 if ( map . MissingMapObjects . Any ( ) || ! map . DefaultDockPlaced || map . MissingRequiredTiles . Any ( ) )
302310 {
303311 tasks . Add ( new EditorTask ( EditorTasks . SaveWarningOpen ) ) ;
304- tasks . Add ( new EditorTask ( EditorTasks . SaveWarningUpdate , task . Value ) ) ;
312+ tasks . Add ( new EditorTask ( EditorTasks . SaveWarningUpdate ) ) ;
313+ SaveMode = ( SavingMode ) task . Value ;
305314 }
306315 else
307316 {
308317 tasks . Add ( new EditorTask ( EditorTasks . SaveNoWarning , task . Value ) ) ;
318+ SaveMode = ( SavingMode ) task . Value ;
309319 }
310320 }
311321
@@ -328,7 +338,7 @@ private void ProcessTasksFF(CanvasFFR map, TaskManager tasks)
328338
329339 if ( tasks . Pop ( EditorTasks . SaveNoWarning , out task ) )
330340 {
331- if ( task . Value == ( int ) SavingMode . Save )
341+ if ( SaveMode == SavingMode . Save )
332342 {
333343 if ( FileSelected ( ) )
334344 {
@@ -341,7 +351,7 @@ private void ProcessTasksFF(CanvasFFR map, TaskManager tasks)
341351 filesaved = SaveFileAs ( ) ;
342352 }
343353 }
344- else if ( task . Value == ( int ) SavingMode . SaveAs )
354+ else if ( SaveMode == SavingMode . SaveAs )
345355 {
346356 LoadMapData ( map ) ;
347357 filesaved = SaveFileAs ( ) ;
@@ -405,7 +415,7 @@ private void ProcessTasksMQ(CanvasMQ map, TaskManager tasks)
405415
406416 if ( tasks . Pop ( EditorTasks . SaveNoWarning , out task ) )
407417 {
408- if ( task . Value == ( int ) SavingMode . Save )
418+ if ( SaveMode == SavingMode . Save )
409419 {
410420 if ( FileSelected ( ) )
411421 {
@@ -418,7 +428,7 @@ private void ProcessTasksMQ(CanvasMQ map, TaskManager tasks)
418428 filesaved = SaveFileAs ( ) ;
419429 }
420430 }
421- else if ( task . Value == ( int ) SavingMode . SaveAs )
431+ else if ( SaveMode == SavingMode . SaveAs )
422432 {
423433 LoadMapData ( map ) ;
424434 filesaved = SaveFileAs ( ) ;
@@ -533,6 +543,7 @@ public bool SaveBackup()
533543 string serializedOwData = GetJsonString ( ) ;
534544 using var stream = new StreamWriter ( "backupowmap.json" ) ;
535545 stream . Write ( serializedOwData ) ;
546+ stream . Close ( ) ;
536547
537548 return true ;
538549 }
@@ -545,6 +556,7 @@ public void SaveSettings()
545556 string serializedData = JsonSerializer . Serialize < SettingsManager > ( Settings , new JsonSerializerOptions { WriteIndented = true } ) ;
546557 using var stream = new StreamWriter ( "settings.json" ) ;
547558 stream . Write ( serializedData ) ;
559+ stream . Close ( ) ;
548560 }
549561 public void LoadSettings ( )
550562 {
@@ -555,6 +567,8 @@ public void LoadSettings()
555567
556568 using var stream = new StreamReader ( "settings.json" ) ;
557569 var jsonstring = stream . ReadToEnd ( ) ;
570+ stream . Close ( ) ;
571+
558572
559573 Settings = JsonSerializer . Deserialize < SettingsManager > ( jsonstring ) ;
560574
0 commit comments