435
|
1 // This file (WarFoundryHacks.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2011 IBBoard
|
|
2 //
|
|
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.
|
|
4 using System;
|
|
5 using System.IO;
|
|
6 using IBBoard;
|
|
7 using IBBoard.WarFoundry.API.Factories.Requirement;
|
|
8 using IBBoard.WarFoundry.API.Factories.Xml;
|
|
9 using IBBoard.WarFoundry.API.Savers;
|
|
10 using IBBoard.WarFoundry.API.Savers.Xml;
|
|
11
|
|
12 namespace IBBoard.WarFoundry.API
|
|
13 {
|
|
14 /// <summary>
|
|
15 /// A collection of hacks and work-arounds to make things work correctly.
|
|
16 /// </summary>
|
|
17 public class WarFoundryHacks
|
|
18 {
|
|
19 public static void Initialise()
|
|
20 {
|
|
21 //Set default data path - should be a preference
|
|
22 WarFoundryLoader.GetDefault().AddLoadDirectory(new DirectoryInfo(Path.Combine(Constants.ExecutablePath, "data")));
|
|
23 //Make sure we have at least one loader - should be controlled by plugins
|
|
24 WarFoundryLoader.GetDefault().RegisterFactory(WarFoundryXmlFactory.GetFactory());
|
|
25 //Make sure we have a way to save files - should be controlled by plugins
|
|
26 WarFoundrySaver.SetFileSaver(new WarFoundryXmlFileSaver());
|
|
27 //Make sure we have the requirement factories - should be controlled by plugins
|
|
28 WarFoundryLoader.RegisterRequirementFactory(new UnitRequiresAtLeastNUnitsRequirementFactory());
|
|
29 WarFoundryLoader.RegisterRequirementFactory(new UnitRequiresNoMoreThanNOfUnitTypeRequirementFactory());
|
|
30 }
|
|
31 }
|
|
32 }
|
|
33
|