annotate api/Factories/AbstractWarFoundryFactory.cs @ 151:1d13820b3d96

Fixes #176: Bug when saving recently edited army * Add loaded file cleanup to AbstractWarFoundryFactory * Add override of method with Zip reference closing to WarFoundryXmlFactory WarFoundry now no longer ends up with trailing handles to files, although why they only caused problems in some situations is unknown Also: * Some line ending fixes (curse cross-platform development and different line terminators!)
author IBBoard <dev@ibboard.co.uk>
date Sat, 26 Sep 2009 18:48:36 +0000
parents fcbc3beea498
children 3e287b6b5244
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
104
2f3cafb69799 Re #121: Migrate to AGPL license
IBBoard <dev@ibboard.co.uk>
parents: 28
diff changeset
1 // This file (AbstractWarFoundryFactory.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2007, 2008, 2009 IBBoard.
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
104
2f3cafb69799 Re #121: Migrate to AGPL license
IBBoard <dev@ibboard.co.uk>
parents: 28
diff changeset
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System;
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using System.IO;
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using System.Collections.Generic;
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 using IBBoard.WarFoundry.API.Objects;
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 namespace IBBoard.WarFoundry.API.Factories
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 {
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 public abstract class AbstractWarFoundryFactory<FILE_TYPE> : IWarFoundryFactory
8
613bc5eaac59 Re #9 - Make WarFoundry loading granular
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
13 {
613bc5eaac59 Re #9 - Make WarFoundry loading granular
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
14 public virtual void CompleteLoading(IWarFoundryStagedLoadObject obj)
613bc5eaac59 Re #9 - Make WarFoundry loading granular
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
15 {
120
fcbc3beea498 * Change default factory behaviour to pretend it has loaded files without changing anything
IBBoard <dev@ibboard.co.uk>
parents: 104
diff changeset
16 //Pretend we've fully loaded, as this will probably be standard for non-native factories and some native factories
fcbc3beea498 * Change default factory behaviour to pretend it has loaded files without changing anything
IBBoard <dev@ibboard.co.uk>
parents: 104
diff changeset
17 obj.SetAsFullyLoaded();
8
613bc5eaac59 Re #9 - Make WarFoundry loading granular
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
18 }
613bc5eaac59 Re #9 - Make WarFoundry loading granular
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
19
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 public bool CanHandleFileFormat (FileInfo file)
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 {
151
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
22 FILE_TYPE typedFile = GetFileAsSupportedType(file);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
23 bool canHandle = typedFile != null && CheckCanHandleFileFormat(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
24
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
25 if (typedFile != null)
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
26 {
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
27 CleanUpFileAsSupportedType(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
28 }
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
29
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
30 return canHandle;
14
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
31 }
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
32
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
33 public bool CanHandleFileAsRace(FileInfo file)
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
34 {
151
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
35 FILE_TYPE typedFile = GetFileAsSupportedType(file);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
36 bool canHandle = typedFile != null && CheckCanHandleFileAsRace(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
37
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
38 if (typedFile != null)
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
39 {
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
40 CleanUpFileAsSupportedType(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
41 }
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
42
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
43 return canHandle;
14
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
44 }
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
45
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
46 public bool CanHandleFileAsGameSystem(FileInfo file)
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
47 {
151
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
48 FILE_TYPE typedFile = GetFileAsSupportedType(file);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
49 bool canHandle = typedFile != null && CheckCanHandleFileAsGameSystem(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
50
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
51 if (typedFile != null)
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
52 {
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
53 CleanUpFileAsSupportedType(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
54 }
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
55
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
56 return canHandle;
14
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
57 }
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
58
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
59 public bool CanHandleFileAsArmy(FileInfo file)
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
60 {
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
61 FILE_TYPE typedFile = GetFileAsSupportedType(file);
151
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
62 bool canHandle = typedFile != null && CheckCanHandleFileAsArmy(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
63
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
64 if (typedFile != null)
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
65 {
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
66 CleanUpFileAsSupportedType(typedFile);
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
67 }
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
68
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
69 return canHandle;
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
70 }
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
71
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
72 protected virtual void CleanUpFileAsSupportedType(FILE_TYPE typedFile)
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
73 {
1d13820b3d96 Fixes #176: Bug when saving recently edited army
IBBoard <dev@ibboard.co.uk>
parents: 120
diff changeset
74 //Do nothing by default
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
75 }
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
76
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
77 /// <summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
78 /// Converts the <see cref="FileInfo"/> object in to the appropriate type for this class so that it can perform its checks. If no conversion is required (the test can be performed on a <see cref="FileInfo"/> object) the object should be returned with no modification.
28
e5ea6bfcde83 Re #44 - Fix tests
IBBoard <dev@ibboard.co.uk>
parents: 15
diff changeset
79 /// If the file is not of supported type the <code>null</code> should be returned.
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
80 /// </summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
81 /// <param name="file">
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
82 /// A <see cref="FileInfo"/> to get the supported source object from.
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
83 /// </param>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
84 /// <returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
85 /// An object of type <see cref="FILE_TYPE"/> that has been converted from the input <see cref="FileInfo"/> object, or <code>null</code> if the conversion cannot be made.
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
86 /// </returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
87 protected abstract FILE_TYPE GetFileAsSupportedType(FileInfo file);
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
88
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
89 /// <summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
90 /// Checks whether the factory thinks it can load data from the file in its paramaterised type.
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
91 /// </summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
92 /// <param name="file">
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
93 /// An object of the converted <see cref="FILE_TYPE"/> to check support for
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
94 /// </param>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
95 /// <returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
96 /// <code>true</code> if the factory thinks it can support the file, else <code>false</code>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
97 /// </returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
98 protected abstract bool CheckCanHandleFileFormat(FILE_TYPE file);
14
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
99
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
100 /// <summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
101 /// Checks whether the factory thinks it can load data from the file in its paramaterised type as a Race object.
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
102 /// </summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
103 /// <param name="file">
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
104 /// An object of the converted <see cref="FILE_TYPE"/> to check support for
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
105 /// </param>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
106 /// <returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
107 /// <code>true</code> if the factory thinks it can support the file as a Race, else <code>false</code>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
108 /// </returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
109 protected abstract bool CheckCanHandleFileAsRace(FILE_TYPE file);
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
110
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
111 /// <summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
112 /// Checks whether the factory thinks it can load data from the file in its paramaterised type as a GameSystem object.
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
113 /// </summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
114 /// <param name="file">
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
115 /// An object of the converted <see cref="FILE_TYPE"/> to check support for
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
116 /// </param>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
117 /// <returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
118 /// <code>true</code> if the factory thinks it can support the file as a GameSystem, else <code>false</code>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
119 /// </returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
120 protected abstract bool CheckCanHandleFileAsGameSystem(FILE_TYPE file);
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
121
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
122 /// <summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
123 /// Checks whether the factory thinks it can load data from the file in its paramaterised type as an Army object.
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
124 /// </summary>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
125 /// <param name="file">
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
126 /// An object of the converted <see cref="FILE_TYPE"/> to check support for
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
127 /// </param>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
128 /// <returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
129 /// <code>true</code> if the factory thinks it can support the file as a Army, else <code>false</code>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
130 /// </returns>
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
131 protected abstract bool CheckCanHandleFileAsArmy(FILE_TYPE file);
0770e5cbba7c Closes #21 - File loading in order
IBBoard <dev@ibboard.co.uk>
parents: 8
diff changeset
132
0
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
133
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
134 public ICollection<IWarFoundryObject> CreateObjectsFromFile(FileInfo file)
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
135 {
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
136 return DoCreateObjectsFromFile(GetFileAsSupportedType(file));
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
137 }
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
138
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
139 /// <summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
140 /// Reads the data from the supplied converted <see cref="FILE_TYPE"/> object and returns it as a collection of loadable objects.
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
141 /// </summary>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
142 /// <param name="file">
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
143 /// An object of the converted <see cref="FILE_TYPE"/> for the file to load data from
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
144 /// </param>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
145 /// <returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
146 /// A <see cref="ICollection`1"/> of <see cref="IWarFoundryObject"/>s that were loaded from the file object
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
147 /// </returns>
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
148 protected abstract ICollection<IWarFoundryObject> DoCreateObjectsFromFile(FILE_TYPE file);
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
149 }
520818033bb6 Initial commit of WarFoundry code
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
150 }