diff api/WarFoundryLoader.cs @ 23:f9846f896df3

Re #32 - Migrate WarFoundry files to using Schemas * Add missing spaces to Cats and Core XSD * Fix some incorrect namespaces in Race XSD * Copy schemas to output dir on build * Make WarFoundryXmlFactory validate against Schemas * Make WarFoundryLoader handle failed file loads slightly differently so that we can log out as a warning * Correctly structure "simpleContent" sections of Race XSD Still to do: * Work out why Race XSD doesn't like core:nonNegativeDecimal but appears to be fine with core:percentage * Migrate test files to define namespaces and make sure they match the structure
author IBBoard <dev@ibboard.co.uk>
date Thu, 12 Mar 2009 21:35:17 +0000
parents b7c93a5821cd
children e7de5c96f5c2
line wrap: on
line diff
--- a/api/WarFoundryLoader.cs	Mon Mar 09 20:45:45 2009 +0000
+++ b/api/WarFoundryLoader.cs	Thu Mar 12 21:35:17 2009 +0000
@@ -275,18 +275,26 @@
 			
 			foreach (FileInfo file in gameSystemFiles.Keys)
 			{
+				FileLoadFailure failure = null;
+				
 				try
 				{
 					bool loaded = LoadObject(file, gameSystemFiles[file]);
 	
 					if (!loaded)
 					{
-						fails.Add(new FileLoadFailure(file, "FileLoadFailed", "Failed to load {0} as Race using {1}"));
+						failure = new FileLoadFailure(file, "FileLoadFailed", "Failed to load {0} as Race using {1}");
 					}
 				}
 				catch (Exception ex)
 				{
-					fails.Add(new FileLoadFailure(file, ex.Message));
+					failure = new FileLoadFailure(file, ex.Message);
+				}
+						
+				if (failure!=null)
+				{
+					fails.Add(failure);
+					LogNotifier.Warn(GetType(), failure.Message);
 				}
 			}
 			
@@ -299,18 +307,26 @@
 			
 			foreach (FileInfo file in raceFiles.Keys)
 			{
+				FileLoadFailure failure = null;
+				
 				try
 				{
 					bool loaded = LoadObject(file, raceFiles[file]);
 	
 					if (!loaded)
 					{
-						fails.Add(new FileLoadFailure(file, "FileLoadFailed", "Failed to load {0} as Race using {1}"));
+						failure = new FileLoadFailure(file, "FileLoadFailed", "Failed to load {0} as Race using {1}");
 					}
 				}
 				catch (Exception ex)
 				{
-					fails.Add(new FileLoadFailure(file, ex.Message));
+					failure = new FileLoadFailure(file, ex.Message);
+				}
+						
+				if (failure!=null)
+				{
+					fails.Add(failure);
+					LogNotifier.Warn(GetType(), failure.Message);
 				}
 			}