Mercurial > repos > IBBoard.WarFoundry.API
annotate api/Savers/Xml/WarFoundryXmlFileSaver.cs @ 320:4be289645c4f
Re #324: Add saving of Race and System data to files
* Add skeleton of method for file extensions when saving
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 05 Mar 2011 15:51:24 +0000 |
parents | 7187add280ed |
children | 2ba88d5fb881 |
rev | line source |
---|---|
317
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 using System; |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 using IBBoard.WarFoundry.API.Savers; |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 using IBBoard.WarFoundry.API.Objects; |
318
234b902397e6
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
317
diff
changeset
|
4 using ICSharpCode.SharpZipLib.Zip; |
234b902397e6
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
317
diff
changeset
|
5 using System.IO; |
317
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 namespace IBBoard.WarFoundry.API.Savers.Xml |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 { |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 public class WarFoundryXmlFileSaver : IWarFoundryFileSaver |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 { |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 public WarFoundryXmlFileSaver() |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 { |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 } |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 |
318
234b902397e6
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
317
diff
changeset
|
15 public bool Save(string path, params WarFoundryLoadedObject[] objects) |
317
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 { |
319
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
17 ZipOutputStream zipStream = new ZipOutputStream(new FileStream(path, FileMode.Create)); |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
18 AddFiles(zipStream, objects); |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
19 zipStream.Close(); |
317
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 return true; |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 } |
319
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
22 |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
23 public void AddFiles(ZipOutputStream zipStream, WarFoundryLoadedObject[] objects) |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
24 { |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
25 foreach (WarFoundryLoadedObject obj in objects) |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
26 { |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
27 AddFile(zipStream, obj); |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
28 } |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
29 } |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
30 |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
31 public void AddFile(ZipOutputStream zipStream, WarFoundryLoadedObject obj) |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
32 { |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
33 ZipEntry entry = new ZipEntry(obj.ID); |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
34 zipStream.PutNextEntry(entry); |
7187add280ed
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
318
diff
changeset
|
35 } |
320
4be289645c4f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
319
diff
changeset
|
36 |
4be289645c4f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
319
diff
changeset
|
37 public string GetFileExtension (WarFoundryLoadedObject obj) |
4be289645c4f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
319
diff
changeset
|
38 { |
4be289645c4f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
319
diff
changeset
|
39 return ""; |
4be289645c4f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
319
diff
changeset
|
40 } |
317
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 } |
58cd0fa53976
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 } |