Mercurial > repos > IBBoard.WarFoundry.API
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); } }