changeset 18:3c228f093a71

Re #16 - Complete Rollcall file loading * Add default implementation to "do create" method in non-native factory Also commit csproj changes and removal of old mdp file
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Feb 2009 14:23:53 +0000
parents a99d3b8466ba
children 57451981545c
files IBBoard.WarFoundry.API.csproj IBBoard.WarFoundry.API.csproj.user IBBoard.WarFoundry.API.mdp api/Factories/AbstractNonNativeFileExtensionWarFoundryFactory.cs
diffstat 4 files changed, 99 insertions(+), 274 deletions(-) [+]
line wrap: on
line diff
--- a/IBBoard.WarFoundry.API.csproj	Mon Jan 26 20:29:37 2009 +0000
+++ b/IBBoard.WarFoundry.API.csproj	Sat Feb 21 14:23:53 2009 +0000
@@ -1,93 +1,49 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{59EC117B-F955-44D5-8461-8F44F3A7481A}</ProjectGuid>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>
-    </ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{951E6C7A-7FBA-4F68-9D9E-F48618BB9626}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>IBBoard.WarFoundry.API</RootNamespace>
     <AssemblyName>IBBoard.WarFoundry.API</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>IBBoard.WarFoundry</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
     <StartupObject>
     </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
     <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+    <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\Release\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
+    <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
   </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
   <ItemGroup>
-    <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />
-    <Reference Include="nunit.framework, Version=2.4.3.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-    <ProjectReference Include="..\IBBoard\IBBoard.mdp">
-      <Name>IBBoard</Name>
-    </ProjectReference>
-    <Reference Include="ICSharpCode.SharpZipLib, Version=0.85.4.369, Culture=neutral, PublicKeyToken=1b03e6acf1164f73">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>libs\ICSharpCode.SharpZipLib.dll</HintPath>
-    </Reference>
+    <None Include="COPYING.GPL" />
+    <None Include="COPYING.LGPL" />
+    <None Include="dtds\army.dtd" />
+    <None Include="dtds\race.dtd" />
+    <None Include="dtds\system.dtd" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="api\Commands\CreateAndAddUnitCommand.cs" />
@@ -97,6 +53,40 @@
     <Compile Include="api\Commands\SetUnitEquipmentAmountCommand.cs" />
     <Compile Include="api\Commands\SetUnitSizeCommand.cs" />
     <Compile Include="api\Delegates.cs" />
+    <Compile Include="api\Factories\AbstractNativeWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\AbstractNonNativeFileExtensionWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\AbstractNonNativeWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\AbstractWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\INativeWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\INonNativeWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\IWarFoundryFactory.cs" />
+    <Compile Include="api\Factories\WarFoundryFactoryFactory.cs" />
+    <Compile Include="api\Factories\Xml\WarFoundryXmlElementName.cs" />
+    <Compile Include="api\Factories\Xml\WarFoundryXmlFactory.cs" />
+    <Compile Include="api\Factories\Xml\WarFoundryXmlSaver.cs" />
+    <Compile Include="api\FileLoadFailure.cs" />
+    <Compile Include="api\Objects\Ability.cs" />
+    <Compile Include="api\Objects\ArmourType.cs" />
+    <Compile Include="api\Objects\Army.cs" />
+    <Compile Include="api\Objects\ArmyCategory.cs" />
+    <Compile Include="api\Objects\Category.cs" />
+    <Compile Include="api\Objects\DuplicateItemException.cs" />
+    <Compile Include="api\Objects\EquipmentItem.cs" />
+    <Compile Include="api\Objects\GameSystem.cs" />
+    <Compile Include="api\Objects\IWarFoundryNativeSourceObject.cs" />
+    <Compile Include="api\Objects\IWarFoundryObject.cs" />
+    <Compile Include="api\Objects\IWarFoundryStagedLoadObject.cs" />
+    <Compile Include="api\Objects\Race.cs" />
+    <Compile Include="api\Objects\Stat.cs" />
+    <Compile Include="api\Objects\Stats.cs" />
+    <Compile Include="api\Objects\StatSlot.cs" />
+    <Compile Include="api\Objects\SystemStats.cs" />
+    <Compile Include="api\Objects\Unit.cs" />
+    <Compile Include="api\Objects\UnitEquipmentItem.cs" />
+    <Compile Include="api\Objects\UnitEquipmentItemObj.cs" />
+    <Compile Include="api\Objects\UnitType.cs" />
+    <Compile Include="api\Objects\WarFoundryObject.cs" />
+    <Compile Include="api\Objects\WarFoundryStagedLoadingObject.cs" />
     <Compile Include="api\Requirements\AbstractArmyRequirement.cs" />
     <Compile Include="api\Requirements\AbstractFailedRequirement.cs" />
     <Compile Include="api\Requirements\AbstractRequirement.cs" />
@@ -115,61 +105,33 @@
     <Compile Include="api\Requirements\UnitRequirementMaxNumber.cs" />
     <Compile Include="api\Requirements\UnitRequirementMinNumber.cs" />
     <Compile Include="api\Requirements\UnitRequiresAtLeastRequirement.cs" />
-    <Compile Include="api\WarFoundryCore.cs" />
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="api\Factories\Xml\WarFoundryXmlElementName.cs" />
-    <Compile Include="api\Factories\Xml\WarFoundryXmlFactory.cs" />
-    <Compile Include="api\Factories\Xml\WarFoundryXmlSaver.cs" />
-    <Compile Include="api\Factories\AbstractNativeWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\AbstractNonNativeFileExtensionWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\AbstractNonNativeWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\AbstractWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\INativeWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\INonNativeWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\IWarFoundryFactory.cs" />
-    <Compile Include="api\Factories\WarFoundryFactoryFactory.cs" />
-    <Compile Include="api\Objects\Ability.cs" />
-    <Compile Include="api\Objects\ArmourType.cs" />
-    <Compile Include="api\Objects\Army.cs" />
-    <Compile Include="api\Objects\ArmyCategory.cs" />
-    <Compile Include="api\Objects\Category.cs" />
-    <Compile Include="api\Objects\EquipmentItem.cs" />
-    <Compile Include="api\Objects\GameSystem.cs" />
-    <Compile Include="api\Objects\IWarFoundryNativeSourceObject.cs" />
-    <Compile Include="api\Objects\IWarFoundryObject.cs" />
-    <Compile Include="api\Objects\IWarFoundryStagedLoadObject.cs" />
-    <Compile Include="api\Objects\Race.cs" />
-    <Compile Include="api\Objects\StagedLoadingGameSystem.cs" />
-    <Compile Include="api\Objects\StagedLoadingRace.cs" />
-    <Compile Include="api\Objects\Stat.cs" />
-    <Compile Include="api\Objects\Stats.cs" />
-    <Compile Include="api\Objects\StatSlot.cs" />
-    <Compile Include="api\Objects\SystemStats.cs" />
-    <Compile Include="api\Objects\SystemStatsSet.cs" />
-    <Compile Include="api\Objects\Unit.cs" />
-    <Compile Include="api\Objects\UnitEquipmentItem.cs" />
-    <Compile Include="api\Objects\UnitEquipmentItemObj.cs" />
-    <Compile Include="api\Objects\UnitType.cs" />
-    <Compile Include="api\Objects\WarFoundryObject.cs" />
     <Compile Include="api\Savers\IWarFoundryFileSaver.cs" />
     <Compile Include="api\Savers\WarFoundrySaver.cs" />
+    <Compile Include="api\WarFoundryCore.cs" />
     <Compile Include="api\WarFoundryLoader.cs" />
+    <Compile Include="AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Content Include="libs\ICSharpCode.SharpZipLib.dll" />
     <Content Include="libs\log4net.dll" />
     <Content Include="libs\log4net.xml" />
   </ItemGroup>
   <ItemGroup>
-    <Folder Include="testdata\" />
+    <ProjectReference Include="..\IBBoard\IBBoard.csproj">
+      <Project>{5DFD64F6-FC2B-4B4F-B92E-483BAC468105}</Project>
+      <Name>IBBoard</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\IBBoard.Log4Net\IBBoard.Log4Net.csproj">
+      <Project>{DCBA3FB1-267A-4D89-955B-5C05785EE1CD}</Project>
+      <Name>IBBoard.Log4Net</Name>
+    </ProjectReference>
   </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
   <ItemGroup>
-    <None Include="libs\ICSharpCode.SharpZipLib.dll" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System" />
+    <Reference Include="ICSharpCode.SharpZipLib, Version=0.85.4.369, Culture=neutral, PublicKeyToken=1b03e6acf1164f73">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>libs\ICSharpCode.SharpZipLib.dll</HintPath>
+    </Reference>
   </ItemGroup>
 </Project>
\ No newline at end of file
--- a/IBBoard.WarFoundry.API.csproj.user	Mon Jan 26 20:29:37 2009 +0000
+++ b/IBBoard.WarFoundry.API.csproj.user	Sat Feb 21 14:23:53 2009 +0000
@@ -1,58 +1,5 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <LastOpenVersion>7.10.3077</LastOpenVersion>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ReferencePath>
-    </ReferencePath>
-    <CopyProjectDestinationFolder>
-    </CopyProjectDestinationFolder>
-    <CopyProjectUncPath>
-    </CopyProjectUncPath>
-    <CopyProjectOption>0</CopyProjectOption>
-    <ProjectView>ShowAllFiles</ProjectView>
-    <ProjectTrust>0</ProjectTrust>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <EnableASPDebugging>false</EnableASPDebugging>
-    <EnableASPXDebugging>false</EnableASPXDebugging>
-    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
-    <EnableSQLServerDebugging>false</EnableSQLServerDebugging>
-    <RemoteDebugEnabled>false</RemoteDebugEnabled>
-    <RemoteDebugMachine>
-    </RemoteDebugMachine>
-    <StartAction>Project</StartAction>
-    <StartArguments>
-    </StartArguments>
-    <StartPage>
-    </StartPage>
-    <StartProgram>
-    </StartProgram>
-    <StartURL>
-    </StartURL>
-    <StartWorkingDirectory>
-    </StartWorkingDirectory>
-    <StartWithIE>true</StartWithIE>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <EnableASPDebugging>false</EnableASPDebugging>
-    <EnableASPXDebugging>false</EnableASPXDebugging>
-    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
-    <EnableSQLServerDebugging>false</EnableSQLServerDebugging>
-    <RemoteDebugEnabled>false</RemoteDebugEnabled>
-    <RemoteDebugMachine>
-    </RemoteDebugMachine>
-    <StartAction>Project</StartAction>
-    <StartArguments>
-    </StartArguments>
-    <StartPage>
-    </StartPage>
-    <StartProgram>
-    </StartProgram>
-    <StartURL>
-    </StartURL>
-    <StartWorkingDirectory>
-    </StartWorkingDirectory>
-    <StartWithIE>true</StartWithIE>
+    <ProjectView>ProjectFiles</ProjectView>
   </PropertyGroup>
 </Project>
\ No newline at end of file
--- a/IBBoard.WarFoundry.API.mdp	Mon Jan 26 20:29:37 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-<Project name="IBBoard.WarFoundry.API" fileversion="2.0" language="C#" DefaultNamespace="IBBoard.WarFoundry" clr-version="Net_2_0" ctype="DotNetProject">
-  <Configurations active="Debug">
-    <Configuration name="Debug" ctype="DotNetProjectConfiguration">
-      <Output directory="bin/Debug/" assemblyKeyFile="." assembly="IBBoard.WarFoundry.API" />
-      <Build debugmode="True" target="Library" />
-      <Execution runwithwarnings="False" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
-      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
-    </Configuration>
-    <Configuration name="Release" ctype="DotNetProjectConfiguration">
-      <Output directory="bin/Release/" assembly="IBBoard.WarFoundry.API" />
-      <Build debugmode="False" target="Library" />
-      <Execution runwithwarnings="False" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
-      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="True" ctype="CSharpCompilerParameters" />
-    </Configuration>
-  </Configurations>
-  <Contents>
-    <File name="AssemblyInfo.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Delegates.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/CreateAndAddUnitCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/RemoveUnitCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/ReplaceUnitEquipmentCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/SetNameCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/SetUnitEquipmentAmountCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Commands/SetUnitSizeCommand.cs" subtype="Code" buildaction="Compile" />
-    <File name="libs/log4net.dll" subtype="Code" buildaction="Nothing" />
-    <File name="libs/log4net.xml" subtype="Code" buildaction="Nothing" />
-    <File name="api/Requirements" subtype="Directory" buildaction="Compile" />
-    <File name="api/Requirements/UnitExcludesRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitRequirementItem.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/RequirementAND.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/RequirementOR.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitRequiresAtLeastRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitMinNumberReached.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitMaxNumberReached.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/FailedUnitRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitExclusion.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/AbstractArmyRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/FailedRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitRequirementMaxNumber.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/UnitRequirementMinNumber.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/AbstractFailedRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/Delegates.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/WarFoundryCore.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/AbstractRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Requirements/AbstractUnitRequirement.cs" subtype="Code" buildaction="Compile" />
-    <File name="libs/ICSharpCode.SharpZipLib.dll" subtype="Code" buildaction="Nothing" />
-    <File name="api/WarFoundryLoader.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories" subtype="Directory" buildaction="Compile" />
-    <File name="api/Factories/AbstractNativeWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/WarFoundryFactoryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects" subtype="Directory" buildaction="Compile" />
-    <File name="api/Objects/Ability.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/ArmourType.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Army.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/ArmyCategory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Category.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/EquipmentItem.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/GameSystem.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Stat.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Stats.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/StatSlot.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/SystemStats.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Unit.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/UnitEquipmentItem.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/UnitEquipmentItemObj.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/UnitType.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/WarFoundryObject.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/Xml" subtype="Directory" buildaction="Compile" />
-    <File name="api/Factories/Xml/WarFoundryXmlSaver.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/Xml/WarFoundryXmlFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/Xml/WarFoundryXmlElementName.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/AbstractNonNativeWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/IWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/AbstractWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/AbstractNonNativeFileExtensionWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Savers" subtype="Directory" buildaction="Compile" />
-    <File name="api/Savers/IWarFoundryFileSaver.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Savers/WarFoundrySaver.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/INonNativeWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Factories/INativeWarFoundryFactory.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/Race.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/IWarFoundryNativeSourceObject.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/IWarFoundryObject.cs" subtype="Code" buildaction="Compile" />
-    <File name="dtds/army.dtd" subtype="Code" buildaction="Nothing" />
-    <File name="dtds/race.dtd" subtype="Code" buildaction="Nothing" />
-    <File name="dtds/system.dtd" subtype="Code" buildaction="Nothing" />
-    <File name="api/Objects/WarFoundryStagedLoadingObject.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/IWarFoundryStagedLoadObject.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/Objects/DuplicateItemException.cs" subtype="Code" buildaction="Compile" />
-    <File name="api/FileLoadFailure.cs" subtype="Code" buildaction="Compile" />
-    <File name="COPYING.GPL" subtype="Code" buildaction="Nothing" />
-    <File name="COPYING.LGPL" subtype="Code" buildaction="Nothing" />
-  </Contents>
-  <References>
-    <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-    <ProjectReference type="Gac" localcopy="True" refto="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-    <ProjectReference type="Gac" localcopy="True" refto="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-    <ProjectReference type="Project" localcopy="True" refto="IBBoard" />
-    <ProjectReference type="Gac" localcopy="True" refto="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-    <ProjectReference type="Assembly" localcopy="True" refto="libs/ICSharpCode.SharpZipLib.dll" />
-  </References>
-  <GtkDesignInfo />
-</Project>
\ No newline at end of file
--- a/api/Factories/AbstractNonNativeFileExtensionWarFoundryFactory.cs	Mon Jan 26 20:29:37 2009 +0000
+++ b/api/Factories/AbstractNonNativeFileExtensionWarFoundryFactory.cs	Sat Feb 21 14:23:53 2009 +0000
@@ -43,5 +43,25 @@
 		protected abstract Army CreateArmyFromFile(FileInfo file);
 		protected abstract Race CreateRaceFromFile(FileInfo file);
 		protected abstract GameSystem CreateGameSystemFromFile(FileInfo file);
+		
+		protected override ICollection<IWarFoundryObject> DoCreateObjectsFromFile (FileInfo file)
+		{
+			ICollection<IWarFoundryObject> objects = new List<IWarFoundryObject>();
+			
+			if (CheckCanHandleFileAsRace(file))
+			{
+				objects.Add(CreateRaceFromFile(file));
+			}
+			else if (CheckCanHandleFileAsGameSystem(file))
+			{
+				objects.Add(CreateGameSystemFromFile(file));
+			}
+			else if (CheckCanHandleFileAsArmy(file))
+			{
+				objects.Add(CreateArmyFromFile(file));
+			}
+			
+			return objects;
+		}
 	}
 }