[gbrainy] Fixes bug with command line
- From: Jordi Mas <jmas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gbrainy] Fixes bug with command line
- Date: Fri, 23 Jul 2010 15:25:19 +0000 (UTC)
commit 1c3495963f9643749976ed9eca6776e341633d24
Author: Jordi Mas <jmas softcatala org>
Date: Fri Jul 23 17:26:39 2010 +0200
Fixes bug with command line
src/Clients/Classical/CommandLine.cs | 3 +++
src/Clients/Classical/Defines.cs.in | 4 ++++
src/Clients/Classical/gbrainy.cs | 15 +++++++++------
src/Core/Main/Defines.cs.in | 1 -
src/Core/Main/GameManager.cs | 13 ++++++++-----
src/Core/Main/Verbal/AnalogiesFactory.cs | 8 --------
tests/Core/GameManagerTest.cs | 1 +
7 files changed, 25 insertions(+), 20 deletions(-)
---
diff --git a/src/Clients/Classical/CommandLine.cs b/src/Clients/Classical/CommandLine.cs
index 3dfb43d..acfa314 100644
--- a/src/Clients/Classical/CommandLine.cs
+++ b/src/Clients/Classical/CommandLine.cs
@@ -108,6 +108,8 @@ namespace gbrainy.Clients.Classical
{
GameManager.GameLocator [] games;
GameManager gm = new GameManager ();
+
+ GtkClient.GameManagerPreload (gm);
gm.GameType = GameSession.Types.AllGames;
games = gm.AvailableGames;
@@ -129,6 +131,7 @@ namespace gbrainy.Clients.Classical
Dictionary <string, int> dictionary;
GameManager.GameLocator [] games;
GameManager gm = new GameManager ();
+ GtkClient.GameManagerPreload (gm);
games = gm.AvailableGames;
// Create a hash to map from game name to locator
diff --git a/src/Clients/Classical/Defines.cs.in b/src/Clients/Classical/Defines.cs.in
index 7eee6ba..7e2c4ef 100644
--- a/src/Clients/Classical/Defines.cs.in
+++ b/src/Clients/Classical/Defines.cs.in
@@ -28,5 +28,9 @@ namespace gbrainy.Clients.Classical
public const string DATA_DIR = "@prefix@/share/games/gbrainy/";
public const string COPYRIGHT = "@COPYRIGHT@";
public const string BUILD_TIME = "@BUILD_TIME@";
+
+ public const string VERBAL_ANALOGIES = "verbal_analogies.xml";
+ public const string GAME_ASSEMBLY = "gbrainy.Games.dll";
+ public const string GAMES_FILE = "games.xml";
}
}
diff --git a/src/Clients/Classical/gbrainy.cs b/src/Clients/Classical/gbrainy.cs
index ea8d67a..da425e0 100755
--- a/src/Clients/Classical/gbrainy.cs
+++ b/src/Clients/Classical/gbrainy.cs
@@ -98,13 +98,8 @@ namespace gbrainy.Clients.Classical
public void Initialize ()
{
- const string ASSEMBLY = "gbrainy.Games.dll";
-
session = new GameSession ();
-
- session.GameManager.LoadAssemblyGames (ASSEMBLY);
- session.GameManager.LoadPlugins ();
- session.GameManager.LoadGamesFromXml (System.IO.Path.Combine (Defines.DATA_DIR, "games.xml"));
+ GameManagerPreload (session.GameManager);
session.GameManager.ShowGamesSummary ();
session.GameManager.ColorBlind = Preferences.GetBoolValue (Preferences.ColorBlindKey);
@@ -116,6 +111,14 @@ namespace gbrainy.Clients.Classical
BuildUI ();
}
+ public static void GameManagerPreload (GameManager gm)
+ {
+ gm.LoadAssemblyGames (Defines.GAME_ASSEMBLY);
+ gm.LoadVerbalAnalogies (System.IO.Path.Combine (Defines.DATA_DIR, Defines.VERBAL_ANALOGIES));
+ gm.LoadGamesFromXml (System.IO.Path.Combine (Defines.DATA_DIR, Defines.GAMES_FILE));
+ gm.LoadPlugins ();
+ }
+
void BuildUI ()
{
bool show_toolbar;
diff --git a/src/Core/Main/Defines.cs.in b/src/Core/Main/Defines.cs.in
index 294a202..a76f718 100644
--- a/src/Core/Main/Defines.cs.in
+++ b/src/Core/Main/Defines.cs.in
@@ -25,7 +25,6 @@ namespace gbrainy.Core.Main
{
public const string VERSION = "@VERSION@";
public const string DATA_DIR = "@prefix@/share/games/gbrainy/";
- public const string VERBAL_ANALOGIES = "verbal_analogies.xml";
public const string CONFIG_DIR = "gbrainy"; // like .config/gbrainy
}
}
diff --git a/src/Core/Main/GameManager.cs b/src/Core/Main/GameManager.cs
index f50d8e2..d302408 100644
--- a/src/Core/Main/GameManager.cs
+++ b/src/Core/Main/GameManager.cs
@@ -82,11 +82,6 @@ namespace gbrainy.Core.Main
play_list = new List <int> ();
cnt_logic = cnt_memory = cnt_calculation = cnt_verbal = 0;
RandomOrder = true;
-
- // Load Analogies
- cnt_verbal += AddVerbalGamesAndVariations (VerbalAnalogiesInternal);
-
- LoadPlugins ();
#if PDF_DUMP
GeneratePDF ();
#endif
@@ -247,6 +242,7 @@ namespace gbrainy.Core.Main
}
}
+ // Load Mono plugins
public void LoadPlugins ()
{
@@ -300,6 +296,13 @@ namespace gbrainy.Core.Main
#endif
}
+ // Load an XML file with analogies
+ public void LoadVerbalAnalogies (string file)
+ {
+ AnalogiesFactory.Read (file);
+ cnt_verbal += AddVerbalGamesAndVariations (VerbalAnalogiesInternal);
+ }
+
// Unload previous assembly, xml and verbal analogies loaded games
public void ResetAvailableGames ()
{
diff --git a/src/Core/Main/Verbal/AnalogiesFactory.cs b/src/Core/Main/Verbal/AnalogiesFactory.cs
index caa0b97..96ed1c1 100644
--- a/src/Core/Main/Verbal/AnalogiesFactory.cs
+++ b/src/Core/Main/Verbal/AnalogiesFactory.cs
@@ -44,17 +44,9 @@ namespace gbrainy.Core.Main.Verbal
static public Dictionary <int, Analogy> Get (Analogy.Type type)
{
- if (read == false)
- Read ();
-
return analogies_arrays [(int) type];
}
- static void Read ()
- {
- Read (Path.Combine (Defines.DATA_DIR, Defines.VERBAL_ANALOGIES));
- }
-
static public void Read (string file)
{
Analogy analogy;
diff --git a/tests/Core/GameManagerTest.cs b/tests/Core/GameManagerTest.cs
index d191a29..b581d75 100644
--- a/tests/Core/GameManagerTest.cs
+++ b/tests/Core/GameManagerTest.cs
@@ -144,6 +144,7 @@ namespace gbrainyTest
{
GameManager manager = new GameManager ();
manager.GameType = GameSession.Types.AllGames;
+ manager.LoadAssemblyGames ("gbrainy.Games.dll");
Assert.AreNotEqual (0, manager.AvailableGames.Length);
manager.ResetAvailableGames ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]