# HG changeset patch # User IBBoard # Date 1342035574 -3600 # Node ID 4d6c927442540f1fe643338701ae60ab563c2b43 # Parent 1ed2f3ab5e358e99ab4a6ac7d036fc1b187d2370 Re #419: Remove assumptions of a file-based install * Embed sample files as resources * Load the sample files as a "hack" diff -r 1ed2f3ab5e35 -r 4d6c92744254 API/WarFoundryHacks.cs --- a/API/WarFoundryHacks.cs Sat Jul 07 21:01:32 2012 +0100 +++ b/API/WarFoundryHacks.cs Wed Jul 11 20:39:34 2012 +0100 @@ -8,6 +8,8 @@ using IBBoard.WarFoundry.API.Factories.Xml; using IBBoard.WarFoundry.API.Savers; using IBBoard.WarFoundry.API.Savers.Xml; +using IBBoard.WarFoundry.API.Loading; +using System.Reflection; namespace IBBoard.WarFoundry.API { @@ -18,8 +20,10 @@ { public static void Initialise() { - //Set default data path - should be a preference - //WarFoundryLoader.GetDefault().AddLoadDirectory(new DirectoryInfo(Path.Combine(Constants.ExecutablePath, "data"))); + //Load embedded files from resource + Assembly assm = Assembly.GetExecutingAssembly(); + LoadableObjectSourceResourceSet resSet = new LoadableObjectSourceResourceSet(assm, "IBBoard.WarFoundry.data.Empire.race", "IBBoard.WarFoundry.data.SampleSystem.system"); + WarFoundryLoader.GetDefault().AddLoadSource(resSet); //Make sure we have at least one loader - should be controlled by plugins WarFoundryLoader.GetDefault().RegisterFactory(WarFoundryXmlFactory.GetFactory()); //Make sure we have a way to save files - should be controlled by plugins diff -r 1ed2f3ab5e35 -r 4d6c92744254 IBBoard.WarFoundry.API.csproj --- a/IBBoard.WarFoundry.API.csproj Sat Jul 07 21:01:32 2012 +0100 +++ b/IBBoard.WarFoundry.API.csproj Wed Jul 11 20:39:34 2012 +0100 @@ -148,12 +148,6 @@ - - PreserveNewest - - - PreserveNewest - @@ -233,5 +227,7 @@ False + + \ No newline at end of file