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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }