public void LoadPlugins()
{
#if MONO_ADDINS
try {
ExtensionNodeList addins;
Game game;
Type [] type = new Type [1];
string dir = System.IO.Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), "gbrainy");
AddinManager.Initialize (dir);
AddinManager.Registry.Update (null);
new SetupService (AddinManager.Registry);
addins = AddinManager.GetExtensionNodes ("/gbrainy/games/logic");
foreach (TypeExtensionNode node in addins) {
game = (Game) node.CreateInstance ();
Console.WriteLine ("Loading external logic game: {0}", game);
type [0] = game.GetType ();
AddGamesAndVariations (type);
}
addins = AddinManager.GetExtensionNodes ("/gbrainy/games/memory");
foreach (TypeExtensionNode node in addins) {
game = (Game) node.CreateInstance ();
Console.WriteLine ("Loading external memory game: {0}", game);
type [0] = game.GetType ();
AddGamesAndVariations (type);
}
addins = AddinManager.GetExtensionNodes ("/gbrainy/games/calculation");
foreach (TypeExtensionNode node in addins) {
game = (Game) node.CreateInstance ();
Console.WriteLine ("Loading external calculation game: {0}", game);
type [0] = game.GetType ();
AddGamesAndVariations (type);
}
addins = AddinManager.GetExtensionNodes ("/gbrainy/games/verbal");
foreach (TypeExtensionNode node in addins) {
game = (Game) node.CreateInstance ();
Console.WriteLine ("Loading external verbal analogy game: {0}", game);
type [0] = game.GetType ();
AddGamesAndVariations (type);
}
}
catch (Exception e)
{
Console.WriteLine ("GameManager.LoadPlugins. Error loading plugins. Error {0}", e);
}
#endif
}