aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2020-03-07 19:44:55 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2020-03-07 19:44:55 +0200
commit247068241f4d4c0c70605791c520a85995a0ff39 (patch)
tree5ecb0d5d36f81ecfa6963083c82fb0c6e4b91e13
parent920498e8bcb1414330590f555d3a6f62075e61a1 (diff)
downloadMundus-247068241f4d4c0c70605791c520a85995a0ff39.tar
Mundus-247068241f4d4c0c70605791c520a85995a0ff39.tar.gz
Mundus-247068241f4d4c0c70605791c520a85995a0ff39.zip
Worked on moving the player and displaying the map
-rw-r--r--Mundus/Controllers/Map/LandSuperLayerGenerator.cs27
-rw-r--r--Mundus/Controllers/Mob/MobMoving.cs21
-rw-r--r--Mundus/Icons/Land/Items/boulder.png (renamed from Mundus/Icons/Land/Ground/boulder.png)bin4339 -> 4339 bytes
-rw-r--r--Mundus/Icons/Project files/Old icons/old_grass.jpg (renamed from Mundus/Icons/Land/Ground/old_grass.jpg)bin2759 -> 2759 bytes
-rw-r--r--Mundus/Icons/Project files/Old icons/rock.jpg (renamed from Mundus/Icons/Land/Ground/rock.jpg)bin2527 -> 2527 bytes
-rw-r--r--Mundus/Icons/Project files/Old icons/stick.jpg (renamed from Mundus/Icons/Land/Items/stick.jpg)bin2732 -> 2732 bytes
-rw-r--r--Mundus/Icons/player.pngbin0 -> 3315 bytes
-rw-r--r--Mundus/Models/DI.cs (renamed from Mundus/Models/DialogInstances.cs)2
-rw-r--r--Mundus/Models/MapSizes.cs6
-rw-r--r--Mundus/Models/Mobs/IMob.cs12
-rw-r--r--Mundus/Models/Mobs/Land_Mobs/LMI.cs11
-rw-r--r--Mundus/Models/Mobs/Land_Mobs/Player.cs20
-rw-r--r--Mundus/Models/SuperLayers/ISuperLayer.cs13
-rw-r--r--Mundus/Models/SuperLayers/Land.cs41
-rw-r--r--Mundus/Models/Tiles/GroundTile.cs5
-rw-r--r--Mundus/Models/Tiles/ItemTile.cs12
-rw-r--r--Mundus/Models/Tiles/LI.cs (renamed from Mundus/Models/LayerInstances.cs)4
-rw-r--r--Mundus/Models/Tiles/MobTile.cs14
-rw-r--r--Mundus/Models/WI.cs (renamed from Mundus/Models/WindowInstances.cs)2
-rw-r--r--Mundus/Mundus.csproj19
-rw-r--r--Mundus/Program.cs29
-rw-r--r--Mundus/Views/Windows/MainWindow.cs6
-rw-r--r--Mundus/Views/Windows/NewGameWindow.cs18
-rw-r--r--Mundus/Views/Windows/PauseWindow.cs2
-rw-r--r--Mundus/Views/Windows/SmallGameWindow.cs212
-rw-r--r--Mundus/gtk-gui/Mundus.Views.Windows.SmallGameWindow.cs25
-rw-r--r--Mundus/gtk-gui/generated.cs4
-rw-r--r--Mundus/gtk-gui/gui.stetic36
28 files changed, 453 insertions, 88 deletions
diff --git a/Mundus/Controllers/Map/LandSuperLayerGenerator.cs b/Mundus/Controllers/Map/LandSuperLayerGenerator.cs
index 5520330..b19be6d 100644
--- a/Mundus/Controllers/Map/LandSuperLayerGenerator.cs
+++ b/Mundus/Controllers/Map/LandSuperLayerGenerator.cs
@@ -2,14 +2,32 @@
using Mundus.Models;
using Mundus.Models.Tiles;
using Mundus.Models.SuperLayers;
+using Mundus.Models.Mobs.Land_Mobs;
namespace Mundus.Controllers.Map {
public static class LandSuperLayerGenerator {
private static Random rnd;
public static void GenerateAllLayers(int size) {
- LayerInstances.Land.SetGroundLayer(GenerateGroundLayer(size));
- LayerInstances.Land.SetItemLayer(GenerateItemLayer(size));
+ LI.Land.SetMobLayer(GenerateMobLayer(size));
+ LI.Land.SetGroundLayer(GenerateGroundLayer(size));
+ LI.Land.SetItemLayer(GenerateItemLayer(size));
+ }
+
+ private static MobTile[,] GenerateMobLayer(int size) {
+ MobTile[,] tiles = new MobTile[size, size];
+
+ for (int col = 0; col < size; col++) {
+ for (int row = 0; row < size; row++) {
+ if (col == size / 2 && row == size / 2) {
+ LMI.Player.YPos = row;
+ LMI.Player.XPos = col;
+ LMI.Player.CurrSuperLayer = LI.Land;
+ tiles[col, row] = LMI.Player.Tile;
+ }
+ }
+ }
+ return tiles;
}
private static GroundTile[,] GenerateGroundLayer(int size) {
@@ -18,7 +36,7 @@ namespace Mundus.Controllers.Map {
for(int col = 0; col < size; col++) {
for(int row = 0; row < size; row++) {
- tiles[col, row] = LayerInstances.Land.GetGroundTileType("Grass");
+ tiles[col, row] = new GroundTile("grass");
}
}
return tiles;
@@ -26,10 +44,11 @@ namespace Mundus.Controllers.Map {
private static ItemTile[,] GenerateItemLayer(int size) {
ItemTile[,] tiles = new ItemTile[size, size];
+
for (int col = 0; col < size; col++) {
for (int row = 0; row < size; row++) {
if (rnd.Next( 0, 5 ) == 1) {
- tiles[col, row] = LayerInstances.Land.GetItemTileType( "Boulder" );
+ tiles[col, row] = new ItemTile("boulder");
}
}
}
diff --git a/Mundus/Controllers/Mob/MobMoving.cs b/Mundus/Controllers/Mob/MobMoving.cs
new file mode 100644
index 0000000..99fabab
--- /dev/null
+++ b/Mundus/Controllers/Mob/MobMoving.cs
@@ -0,0 +1,21 @@
+using System;
+using Mundus.Models.Mobs;
+using Mundus.Models.SuperLayers;
+
+namespace Mundus.Controllers.Mob {
+ public static class MobMoving {
+ public static void MoveMob(IMob mob, int yPos, int xPos) {
+
+ }
+
+ private static void ChangePosition(IMob mob, int yPos, int xPos) {
+ if (mob.CurrSuperLayer.GetItemLayerTile( yPos, xPos ) == null ||
+ mob.CurrSuperLayer.GetItemLayerTile( yPos, xPos ).IsWalkable) {
+ mob.CurrSuperLayer.RemoveMobFromPosition( mob.YPos, mob.XPos );
+ mob.YPos = yPos;
+ mob.XPos = xPos;
+ mob.CurrSuperLayer.SetMobAtPosition( mob.Tile, yPos, xPos );
+ }
+ }
+ }
+}
diff --git a/Mundus/Icons/Land/Ground/boulder.png b/Mundus/Icons/Land/Items/boulder.png
index a5db10a..a5db10a 100644
--- a/Mundus/Icons/Land/Ground/boulder.png
+++ b/Mundus/Icons/Land/Items/boulder.png
Binary files differ
diff --git a/Mundus/Icons/Land/Ground/old_grass.jpg b/Mundus/Icons/Project files/Old icons/old_grass.jpg
index 3a6baf0..3a6baf0 100644
--- a/Mundus/Icons/Land/Ground/old_grass.jpg
+++ b/Mundus/Icons/Project files/Old icons/old_grass.jpg
Binary files differ
diff --git a/Mundus/Icons/Land/Ground/rock.jpg b/Mundus/Icons/Project files/Old icons/rock.jpg
index 408b522..408b522 100644
--- a/Mundus/Icons/Land/Ground/rock.jpg
+++ b/Mundus/Icons/Project files/Old icons/rock.jpg
Binary files differ
diff --git a/Mundus/Icons/Land/Items/stick.jpg b/Mundus/Icons/Project files/Old icons/stick.jpg
index 84d3280..84d3280 100644
--- a/Mundus/Icons/Land/Items/stick.jpg
+++ b/Mundus/Icons/Project files/Old icons/stick.jpg
Binary files differ
diff --git a/Mundus/Icons/player.png b/Mundus/Icons/player.png
new file mode 100644
index 0000000..45948b1
--- /dev/null
+++ b/Mundus/Icons/player.png
Binary files differ
diff --git a/Mundus/Models/DialogInstances.cs b/Mundus/Models/DI.cs
index d2b0506..6f91709 100644
--- a/Mundus/Models/DialogInstances.cs
+++ b/Mundus/Models/DI.cs
@@ -2,7 +2,7 @@
using Mundus.Views.Dialogs;
namespace Mundus.Models {
- public static class DialogInstances {
+ public static class DI { //stands for Dialogue Instances
public static ExitDialog DExit { get; private set; }
public static void CreateInstances() {
diff --git a/Mundus/Models/MapSizes.cs b/Mundus/Models/MapSizes.cs
index 7b9b5af..b9fd5e5 100644
--- a/Mundus/Models/MapSizes.cs
+++ b/Mundus/Models/MapSizes.cs
@@ -1,8 +1,10 @@
namespace Mundus.Models {
public static class MapSizes {
//These are the map sizes that are generated
- public const int SMALL = 100;
+ public const int SMALL = 5;
public const int MEDIUM = 500;
- public const int LARGE = 1000;
+ public const int LARGE = 25;
+
+ public static int CurrSize { get; set; }
}
}
diff --git a/Mundus/Models/Mobs/IMob.cs b/Mundus/Models/Mobs/IMob.cs
new file mode 100644
index 0000000..2f66fc6
--- /dev/null
+++ b/Mundus/Models/Mobs/IMob.cs
@@ -0,0 +1,12 @@
+using System;
+using Mundus.Models.SuperLayers;
+using Mundus.Models.Tiles;
+
+namespace Mundus.Models.Mobs {
+ public interface IMob {
+ MobTile Tile { get; }
+ ISuperLayer CurrSuperLayer { get; set; }
+ int XPos { get; set; }
+ int YPos { get; set; }
+ }
+}
diff --git a/Mundus/Models/Mobs/Land_Mobs/LMI.cs b/Mundus/Models/Mobs/Land_Mobs/LMI.cs
new file mode 100644
index 0000000..5b98954
--- /dev/null
+++ b/Mundus/Models/Mobs/Land_Mobs/LMI.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace Mundus.Models.Mobs.Land_Mobs {
+ public static class LMI { //stands for Land Mob Instances
+ public static Player Player { get; private set; }
+
+ public static void CreateInstances() {
+ Player = new Player("player");
+ }
+ }
+}
diff --git a/Mundus/Models/Mobs/Land_Mobs/Player.cs b/Mundus/Models/Mobs/Land_Mobs/Player.cs
new file mode 100644
index 0000000..af00e7a
--- /dev/null
+++ b/Mundus/Models/Mobs/Land_Mobs/Player.cs
@@ -0,0 +1,20 @@
+using System;
+using Gtk;
+using Mundus.Models.SuperLayers;
+using Mundus.Models.Tiles;
+
+namespace Mundus.Models.Mobs.Land_Mobs {
+ public class Player : IMob {
+ public MobTile Tile { get; private set; }
+ public ISuperLayer CurrSuperLayer { get; set; }
+ public int YPos { get; set; }
+ public int XPos { get; set; }
+
+ public Player(string stock_id) : this(new MobTile(stock_id))
+ { }
+
+ public Player(MobTile tile) {
+ this.Tile = tile;
+ }
+ }
+}
diff --git a/Mundus/Models/SuperLayers/ISuperLayer.cs b/Mundus/Models/SuperLayers/ISuperLayer.cs
index caf2aff..8040f91 100644
--- a/Mundus/Models/SuperLayers/ISuperLayer.cs
+++ b/Mundus/Models/SuperLayers/ISuperLayer.cs
@@ -5,13 +5,20 @@ using Gtk;
namespace Mundus.Models.SuperLayers {
public interface ISuperLayer {
- ItemTile GetItemTileType(string name);
- GroundTile GetGroundTileType(string name);
-
+ MobTile GetMobLayerTile(int yPpos, int xPos);
ItemTile GetItemLayerTile(int yPos, int xPos);
GroundTile GetGroundLayerTile(int yPos, int xPos);
+ void SetMobLayer(MobTile[,] mobTiles);
+ void SetMobAtPosition(MobTile tile, int yPos, int xPos);
+ void RemoveMobFromPosition(int yPos, int xPos);
+
void SetItemLayer(ItemTile[,] itemTiles);
+ void SetItemAtPosition(ItemTile tile, int yPos, int xPos);
+ void RemoveItemFromPosition(int yPos, int xPos);
+
void SetGroundLayer(GroundTile[,] groundTiles);
+ void SetGroundAtPosition(GroundTile tile, int yPos, int xPos);
+ void RemoveGroundFromPosition(int yPos, int xPos);
}
}
diff --git a/Mundus/Models/SuperLayers/Land.cs b/Mundus/Models/SuperLayers/Land.cs
index 3fe31a1..5507374 100644
--- a/Mundus/Models/SuperLayers/Land.cs
+++ b/Mundus/Models/SuperLayers/Land.cs
@@ -4,27 +4,15 @@ using Mundus.Models.Tiles;
namespace Mundus.Models.SuperLayers {
public class Land : ISuperLayer {
-
- private static Dictionary<string, ItemTile> itemTilesTypes = new Dictionary<string, ItemTile> {
- {"Stick", new ItemTile("stick")},
- {"Boulder", new ItemTile("boulder")}
- };
- private static Dictionary<string, GroundTile> groundTilesTypes = new Dictionary<string, GroundTile> {
- {"Grass", new GroundTile("grass")}
- };
-
+ private static MobTile[,] mobLayer;
private static ItemTile[,] itemLayer;
private static GroundTile[,] groundLayer;
public Land() { }
- public ItemTile GetItemTileType(string name) {
- return itemTilesTypes[name];
+ public MobTile GetMobLayerTile(int yPos, int xPos) {
+ return mobLayer[yPos, xPos];
}
- public GroundTile GetGroundTileType(string name) {
- return groundTilesTypes[name];
- }
-
public ItemTile GetItemLayerTile(int yPos, int xPos) {
return itemLayer[yPos, xPos];
}
@@ -32,11 +20,34 @@ namespace Mundus.Models.SuperLayers {
return groundLayer[yPos, xPos];
}
+ public void SetMobLayer(MobTile[,] mobTiles) {
+ mobLayer = mobTiles;
+ }
+ public void SetMobAtPosition(MobTile tile, int yPos, int xPos) {
+ mobLayer[yPos, xPos] = tile;
+ }
+ public void RemoveMobFromPosition(int yPos, int xPos) {
+ mobLayer[yPos, xPos] = null;
+ }
+
public void SetItemLayer(ItemTile[,] itemTiles) {
itemLayer = itemTiles;
}
+ public void SetItemAtPosition(ItemTile tile, int yPos, int xPos) {
+ itemLayer[yPos, xPos] = tile;
+ }
+ public void RemoveItemFromPosition(int yPos, int xPos) {
+ itemLayer[yPos, xPos] = null;
+ }
+
public void SetGroundLayer(GroundTile[,] groundTiles) {
groundLayer = groundTiles;
}
+ public void SetGroundAtPosition(GroundTile tile, int yPos, int xPos) {
+ groundLayer[yPos, xPos] = tile;
+ }
+ public void RemoveGroundFromPosition(int yPos, int xPos) {
+ groundLayer[yPos, xPos] = null;
+ }
}
}
diff --git a/Mundus/Models/Tiles/GroundTile.cs b/Mundus/Models/Tiles/GroundTile.cs
index 2069656..2314c9d 100644
--- a/Mundus/Models/Tiles/GroundTile.cs
+++ b/Mundus/Models/Tiles/GroundTile.cs
@@ -10,10 +10,5 @@ namespace Mundus.Models.Tiles {
this.stock_id = stock_id;
this.Texture = new Image(stock_id, IconSize.Dnd);
}
-
- public GroundTile(Image texture) {
- this.stock_id = texture.Name;
- this.Texture = texture;
- }
}
}
diff --git a/Mundus/Models/Tiles/ItemTile.cs b/Mundus/Models/Tiles/ItemTile.cs
index 43df544..92e1d08 100644
--- a/Mundus/Models/Tiles/ItemTile.cs
+++ b/Mundus/Models/Tiles/ItemTile.cs
@@ -6,14 +6,16 @@ namespace Mundus.Models.Tiles {
public string stock_id { get; private set; }
public Image Texture { get; private set; }
- public ItemTile(string stock_id) {
+ public bool IsWalkable { get; private set; }
+
+ public ItemTile(string stock_id) : this(stock_id, false )
+ { }
+
+ public ItemTile(string stock_id, bool isWalkable) {
this.stock_id = stock_id;
this.Texture = new Image( stock_id, IconSize.Dnd );
- }
- public ItemTile(Image texture) {
- this.stock_id = texture.Name;
- this.Texture = texture;
+ this.IsWalkable = isWalkable;
}
}
}
diff --git a/Mundus/Models/LayerInstances.cs b/Mundus/Models/Tiles/LI.cs
index 6b06596..1e741dc 100644
--- a/Mundus/Models/LayerInstances.cs
+++ b/Mundus/Models/Tiles/LI.cs
@@ -1,8 +1,8 @@
using System;
using Mundus.Models.SuperLayers;
-namespace Mundus.Models {
- public static class LayerInstances {
+namespace Mundus.Models.Tiles {
+ public static class LI { //stands for Layer Instances
//add other layers
public static Land Land { get; private set; }
diff --git a/Mundus/Models/Tiles/MobTile.cs b/Mundus/Models/Tiles/MobTile.cs
new file mode 100644
index 0000000..fc8453d
--- /dev/null
+++ b/Mundus/Models/Tiles/MobTile.cs
@@ -0,0 +1,14 @@
+using System;
+using Gtk;
+
+namespace Mundus.Models.Tiles {
+ public class MobTile : ITile {
+ public string stock_id { get; private set; }
+ public Image Texture { get; private set; }
+
+ public MobTile(string stock_id) {
+ this.stock_id = stock_id;
+ this.Texture = new Image(stock_id, IconSize.Dnd);
+ }
+ }
+}
diff --git a/Mundus/Models/WindowInstances.cs b/Mundus/Models/WI.cs
index 56bb13e..b31a70c 100644
--- a/Mundus/Models/WindowInstances.cs
+++ b/Mundus/Models/WI.cs
@@ -2,7 +2,7 @@
using Mundus.Views.Windows;
namespace Mundus.Models {
- public static class WindowInstances {
+ public static class WI { //stands for Window Instances
public static MainWindow WMain { get; private set; }
public static NewGameWindow WNewGame { get; private set; }
public static SmallGameWindow WSGame { get; private set; }
diff --git a/Mundus/Mundus.csproj b/Mundus/Mundus.csproj
index 7c69ca3..2e8b062 100644
--- a/Mundus/Mundus.csproj
+++ b/Mundus/Mundus.csproj
@@ -52,10 +52,10 @@
<EmbeddedResource Include="gtk-gui\gui.stetic">
<LogicalName>gui.stetic</LogicalName>
</EmbeddedResource>
- <EmbeddedResource Include="Icons\Land\Items\stick.jpg" />
<EmbeddedResource Include="Icons\blank.jpg" />
<EmbeddedResource Include="Icons\Land\Ground\grass.png" />
- <EmbeddedResource Include="Icons\Land\Ground\boulder.png" />
+ <EmbeddedResource Include="Icons\Land\Items\boulder.png" />
+ <EmbeddedResource Include="Icons\player.png" />
</ItemGroup>
<ItemGroup>
<Compile Include="gtk-gui\generated.cs" />
@@ -79,10 +79,10 @@
<Compile Include="gtk-gui\Mundus.Views.Windows.MusicWindow.cs" />
<Compile Include="Views\Windows\MainWindow.cs" />
<Compile Include="gtk-gui\Mundus.Views.Windows.MainWindow.cs" />
- <Compile Include="Models\WindowInstances.cs" />
+ <Compile Include="Models\WI.cs" />
<Compile Include="Views\Dialogs\ExitDialog.cs" />
<Compile Include="gtk-gui\Mundus.Views.Dialogs.ExitDialog.cs" />
- <Compile Include="Models\DialogInstances.cs" />
+ <Compile Include="Models\DI.cs" />
<Compile Include="Views\Windows\Interfaces\IGameWindow.cs" />
<Compile Include="Models\SuperLayers\Land.cs" />
<Compile Include="Models\SuperLayers\ISuperLayer.cs" />
@@ -91,7 +91,12 @@
<Compile Include="Models\Tiles\ITile.cs" />
<Compile Include="Controllers\Map\LandSuperLayerGenerator.cs" />
<Compile Include="Models\MapSizes.cs" />
- <Compile Include="Models\LayerInstances.cs" />
+ <Compile Include="Models\Mobs\IMob.cs" />
+ <Compile Include="Controllers\Mob\MobMoving.cs" />
+ <Compile Include="Models\Tiles\MobTile.cs" />
+ <Compile Include="Models\Tiles\LI.cs" />
+ <Compile Include="Models\Mobs\Land_Mobs\LMI.cs" />
+ <Compile Include="Models\Mobs\Land_Mobs\Player.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
@@ -106,6 +111,10 @@
<Folder Include="Controllers\Map\" />
<Folder Include="Views\Icons\Land\Ground\" />
<Folder Include="Icons\Land\Ground\" />
+ <Folder Include="Icons\Land\Items\" />
+ <Folder Include="Models\Mobs\" />
+ <Folder Include="Controllers\Mob\" />
+ <Folder Include="Models\Mobs\Land_Mobs\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project> \ No newline at end of file
diff --git a/Mundus/Program.cs b/Mundus/Program.cs
index 7b09f2f..d141816 100644
--- a/Mundus/Program.cs
+++ b/Mundus/Program.cs
@@ -1,18 +1,37 @@
-using System;
+using System.ComponentModel;
+using System.Threading;
+using System.Threading.Tasks;
using Gtk;
using Mundus.Models;
+using Mundus.Models.Mobs.Land_Mobs;
+using Mundus.Models.Tiles;
+using Mundus.Views.Windows;
namespace Mundus {
public static class MainClass {
+ public static bool runGame = true;
+
public static void Main(string[] args) {
+ Initialize();
+ }
+
+ private static void Initialize() {
Application.Init();
//All windows that are used by user (instances) are saved and created in WindowInstances.cs
- WindowInstances.CreateInstances();
- DialogInstances.CreateInstances();
- LayerInstances.CreateInstances();
+ WI.CreateInstances();
+ DI.CreateInstances();
+ LI.CreateInstances();
+ LMI.CreateInstances();
- WindowInstances.WMain.Show();
+ WI.WMain.Show();
Application.Run();
}
+
+ public static void RunGameLoop() {
+ while (runGame) {
+ WI.WSGame.PrintScreen();
+ Thread.Sleep( 100 );
+ }
+ }
}
}
diff --git a/Mundus/Views/Windows/MainWindow.cs b/Mundus/Views/Windows/MainWindow.cs
index 5fbf3f9..229dc11 100644
--- a/Mundus/Views/Windows/MainWindow.cs
+++ b/Mundus/Views/Windows/MainWindow.cs
@@ -14,13 +14,13 @@ namespace Mundus.Views.Windows {
private void OnBtnNewGameClicked(object sender, EventArgs e) {
this.Hide();
- WindowInstances.WNewGame.SetDefaults();
- WindowInstances.WNewGame.Show();
+ WI.WNewGame.SetDefaults();
+ WI.WNewGame.Show();
}
private void OnBtnSettingsClicked(object sender, EventArgs e) {
this.Hide();
- WindowInstances.WSettings.Show(this);
+ WI.WSettings.Show(this);
}
protected void OnBtnTutorialClicked(object sender, EventArgs e) {
diff --git a/Mundus/Views/Windows/NewGameWindow.cs b/Mundus/Views/Windows/NewGameWindow.cs
index 9503df7..beed05a 100644
--- a/Mundus/Views/Windows/NewGameWindow.cs
+++ b/Mundus/Views/Windows/NewGameWindow.cs
@@ -17,7 +17,7 @@ namespace Mundus.Views.Windows {
private void OnBtnBackClicked(object sender, EventArgs e) {
this.Hide();
- WindowInstances.WMain.Show();
+ WI.WMain.Show();
}
//You can choose your Map size only in creative, it is predetermined by screen & inventory size in survival.
@@ -86,23 +86,21 @@ namespace Mundus.Views.Windows {
}
private void MapGenerate() {
- int mapSize;
-
if (rbMSmall.Active) {
- mapSize = MapSizes.SMALL;
+ MapSizes.CurrSize = MapSizes.SMALL;
}
else if (rbMMedium.Active) {
- mapSize = MapSizes.MEDIUM;
+ MapSizes.CurrSize = MapSizes.MEDIUM;
}
else if (rbMLarge.Active) {
- mapSize = MapSizes.LARGE;
+ MapSizes.CurrSize = MapSizes.LARGE;
}
else {
throw new ArgumentException("No map size was selected");
}
//Add the other layers
- LandSuperLayerGenerator.GenerateAllLayers(mapSize);
+ LandSuperLayerGenerator.GenerateAllLayers( MapSizes.CurrSize );
}
//Does the inital steps that are required by all windows upon game generation
@@ -110,13 +108,13 @@ namespace Mundus.Views.Windows {
IGameWindow gameWindow;
if (rbSmall.Active) {
- gameWindow = WindowInstances.WSGame;
+ gameWindow = WI.WSGame;
}
else if (rbMedium.Active) {
- gameWindow = WindowInstances.WMGame;
+ gameWindow = WI.WMGame;
}
else if (rbLarge.Active) {
- gameWindow = WindowInstances.WLGame;
+ gameWindow = WI.WLGame;
}
else {
throw new ArgumentException("No screen & inventory size was selected");
diff --git a/Mundus/Views/Windows/PauseWindow.cs b/Mundus/Views/Windows/PauseWindow.cs
index 08107fe..0e55902 100644
--- a/Mundus/Views/Windows/PauseWindow.cs
+++ b/Mundus/Views/Windows/PauseWindow.cs
@@ -23,7 +23,7 @@ namespace Mundus.Views.Windows {
protected void OnBtnSettingsClicked(object sender, EventArgs e) {
this.Hide();
- WindowInstances.WSettings.Show(this);
+ WI.WSettings.Show(this);
}
protected void OnBtnSaveClicked(object sender, EventArgs e) {
diff --git a/Mundus/Views/Windows/SmallGameWindow.cs b/Mundus/Views/Windows/SmallGameWindow.cs
index 0f46f0f..e57a30e 100644
--- a/Mundus/Views/Windows/SmallGameWindow.cs
+++ b/Mundus/Views/Windows/SmallGameWindow.cs
@@ -1,8 +1,12 @@
using System;
using Gtk;
using Mundus.Models;
+using Mundus.Models.Tiles;
using Mundus.Models.SuperLayers;
using Mundus.Views.Windows.Interfaces;
+using Mundus.Models.Mobs.Land_Mobs;
+using Mundus.Controllers.Mob;
+using System.ComponentModel;
namespace Mundus.Views.Windows {
public partial class SmallGameWindow : Gtk.Window, IGameWindow {
@@ -16,11 +20,11 @@ namespace Mundus.Views.Windows {
public void OnDeleteEvent(object o, Gtk.DeleteEventArgs args) {
//Open exit dialogue if you haven't saved in a while
- if (true) { //TODO: check if you have saved
+ if (false) { //TODO: check if you have saved
//TODO: pause game cycle
- ResponseType rt = (ResponseType)DialogInstances.DExit.Run();
- DialogInstances.DExit.Hide();
+ ResponseType rt = (ResponseType)DI.DExit.Run();
+ DI.DExit.Hide();
if(rt == ResponseType.Cancel || rt == ResponseType.DeleteEvent) {
//cancel the exit procedure and keep the window open
@@ -38,12 +42,13 @@ namespace Mundus.Views.Windows {
public void SetDefaults() {
this.SetMapMenuVisibility(false);
this.SetInvMenuVisibility(false);
- WindowInstances.WPause.GameWindow = this;
+ WI.WPause.GameWindow = this;
+
}
protected void OnBtnPauseClicked(object sender, EventArgs e) {
//TODO: add code that stops (pauses) game cycle
- WindowInstances.WPause.Show();
+ WI.WPause.Show();
}
protected void OnBtnMapClicked(object sender, EventArgs e) {
@@ -206,19 +211,20 @@ namespace Mundus.Views.Windows {
}
protected void OnBtnMusicClicked(object sender, EventArgs e) {
- WindowInstances.WMusic.Show();
+ WI.WMusic.Show();
}
public void PrintScreen() {
- //TODO: get the superlayer that the player is in
- ISuperLayer superLayer = LayerInstances.Land;
+ ISuperLayer superLayer = LMI.Player.CurrSuperLayer;
- for(int i = 0; i < 2; i++) {
- for (int row = 0; row < SIZE; row++) {
- for (int col = 0; col < SIZE; col++) {
+ for(int i = 0; i < 3; i++) {
+ int btn = 1;
+ for (int row = this.CalculateStartY(), maxY = this.CalculateMaxY(); row <= maxY; row++) {
+ for (int col = this.CalculateStartX(), maxX = this.CalculateMaxX(); col <= maxX; col++, btn++) {
//Set the image to be either the ground layer tile, "blank" icon, item layer tile, mob layer tile or don't set it to anything
//Note: first the ground and the blank icons are printed, then over them are printed the item tiles and over them are mob tiles
Image img = new Image();
+
if (i == 0) {
if (superLayer.GetGroundLayerTile( row, col ) == null) {
img = new Image( "blank", IconSize.Dnd );
@@ -226,12 +232,17 @@ namespace Mundus.Views.Windows {
else {
img = new Image( superLayer.GetGroundLayerTile( row, col ).stock_id, IconSize.Dnd );
}
- } else {
+ }
+ else if (i == 1) {
if (superLayer.GetItemLayerTile( row, col ) == null) continue;
img = new Image( superLayer.GetItemLayerTile( row, col ).stock_id, IconSize.Dnd );
}
+ else {
+ if (superLayer.GetMobLayerTile( row, col ) == null) continue;
+ img = new Image( superLayer.GetMobLayerTile( row, col ).stock_id, IconSize.Dnd );
+ }
- switch (row * 5 + col + 1) {
+ switch (btn) {
case 1: btnP1.Image = img; break;
case 2: btnP2.Image = img; break;
case 3: btnP3.Image = img; break;
@@ -265,23 +276,27 @@ namespace Mundus.Views.Windows {
public void PrintMap() {
//TODO: get the superlayer that the player is in
- ISuperLayer superLayer = LayerInstances.Land;
+ ISuperLayer superLayer = LI.Land;
string sName;
//Prints the "Ground layer" in map menu
- for (int row = 0; row < SIZE; row++) {
- for (int col = 0; col < SIZE; col++) {
+ int img = 1;
+ for (int row = this.CalculateStartY(), maxY = this.CalculateMaxY(); row <= maxY; row++) {
+ for (int col = this.CalculateStartX(), maxX = this.CalculateMaxX(); col <= maxX; col++, img++) {
//Print a tile if it exists, otherwise print the "blank" icon
- if (superLayer.GetGroundLayerTile( row, col ) == null) {
+ if (row < 0 || col < 0 || col >= MapSizes.CurrSize || row >= MapSizes.CurrSize) {
+ sName = "blank";
+ }
+ else if (superLayer.GetGroundLayerTile( row, col ) == null) {
sName = "blank";
}
else {
sName = superLayer.GetGroundLayerTile( row, col ).stock_id;
}
- switch (row * 5 + col + 1) {
- case 1: imgG1.SetFromStock(sName, IconSize.Dnd); break;
+ switch (img) {
+ case 1: imgG1.SetFromStock( sName, IconSize.Dnd ); break;
case 2: imgG2.SetFromStock( sName, IconSize.Dnd ); break;
case 3: imgG3.SetFromStock( sName, IconSize.Dnd ); break;
case 4: imgG4.SetFromStock( sName, IconSize.Dnd ); break;
@@ -311,17 +326,21 @@ namespace Mundus.Views.Windows {
}
//Prints the "Item layer" in map menu
- for (int row = 0; row < SIZE; row++) {
- for (int col = 0; col < SIZE; col++) {
+ img = 1;
+ for (int row = this.CalculateStartY(), maxY = this.CalculateMaxY(); row <= maxY; row++) {
+ for (int col = this.CalculateStartX(), maxX = this.CalculateMaxX(); col <= maxX; col++, img++) {
//Print a tile if it exists, otherwise print the "blank" icon
- if (superLayer.GetItemLayerTile( row, col ) == null) {
+ if (row < 0 || col < 0 || col >= MapSizes.CurrSize || row >= MapSizes.CurrSize) {
+ sName = "blank";
+ }
+ else if (superLayer.GetItemLayerTile( row, col ) == null) {
sName = "blank";
}
else {
sName = superLayer.GetItemLayerTile( row, col ).stock_id;
}
- switch (row * 5 + col + 1) {
+ switch (img) {
case 1: imgI1.SetFromStock( sName, IconSize.Dnd ); break;
case 2: imgI2.SetFromStock( sName, IconSize.Dnd ); break;
case 3: imgI3.SetFromStock( sName, IconSize.Dnd ); break;
@@ -357,7 +376,152 @@ namespace Mundus.Views.Windows {
}
protected void OnBtnH1Clicked(object sender, EventArgs e) {
- this.PrintMap();
+ this.PrintScreen();
+ }
+
+ protected void OnBtnP1Clicked(object sender, EventArgs e) {
+ ChangePosition(1);
+ }
+
+ protected void OnBtnP2Clicked(object sender, EventArgs e) {
+ ChangePosition(2);
+ }
+
+ protected void OnBtnP3Clicked(object sender, EventArgs e) {
+ ChangePosition(3);
+ }
+
+ protected void OnBtnP4Clicked(object sender, EventArgs e) {
+ ChangePosition(4);
+ }
+
+ protected void OnBtnP5Clicked(object sender, EventArgs e) {
+ ChangePosition(5);
+ }
+
+ protected void OnBtnP6Clicked(object sender, EventArgs e) {
+ ChangePosition(6);
+ }
+
+ protected void OnBtnP7Clicked(object sender, EventArgs e) {
+ ChangePosition(7);
+ }
+
+ protected void OnBtnP8Clicked(object sender, EventArgs e) {
+ ChangePosition(8);
+ }
+
+ protected void OnBtnP9Clicked(object sender, EventArgs e) {
+ ChangePosition(9);
+ }
+
+ protected void OnBtnP10Clicked(object sender, EventArgs e) {
+ ChangePosition(10);
+ }
+
+ protected void OnBtnP11Clicked(object sender, EventArgs e) {
+ ChangePosition(11);
+ }
+
+ protected void OnBtnP12Clicked(object sender, EventArgs e) {
+ ChangePosition(12);
+ }
+
+ protected void OnBtnP13Clicked(object sender, EventArgs e) {
+ ChangePosition(13);
+ }
+
+ protected void OnBtnP14Clicked(object sender, EventArgs e) {
+ ChangePosition(14);
+ }
+
+ protected void OnBtnP15Clicked(object sender, EventArgs e) {
+ ChangePosition(15);
+ }
+
+ protected void OnBtnP16Clicked(object sender, EventArgs e) {
+ ChangePosition(16);
+ }
+
+ protected void OnBtnP17Clicked(object sender, EventArgs e) {
+ ChangePosition(17);
+ }
+
+ protected void OnBtnP18Clicked(object sender, EventArgs e) {
+ ChangePosition(18);
+ }
+
+ protected void OnBtnP19Clicked(object sender, EventArgs e) {
+ ChangePosition(19);
+ }
+
+ protected void OnBtnP20Clicked(object sender, EventArgs e) {
+ ChangePosition(20);
+ }
+
+ protected void OnBtnP21Clicked(object sender, EventArgs e) {
+ ChangePosition(21);
+ }
+
+ protected void OnBtnP22Clicked(object sender, EventArgs e) {
+ ChangePosition(22);
+ }
+
+ protected void OnBtnP23Clicked(object sender, EventArgs e) {
+ ChangePosition(23);
+ }
+
+ protected void OnBtnP24Clicked(object sender, EventArgs e) {
+ ChangePosition(24);
+ }
+
+ protected void OnBtnP25Clicked(object sender, EventArgs e) {
+ ChangePosition(25);
+ }
+
+ private void ChangePosition(int button) {
+ int buttonYPos = (button - 1) / 5;
+ int buttonXPos = button - buttonYPos * 5 - 1;
+
+ int newYPos = (LMI.Player.YPos - 2 >= 0) ? LMI.Player.YPos - 2 + buttonYPos : buttonYPos;
+ if (LMI.Player.YPos > MapSizes.CurrSize - 3) newYPos = buttonYPos + MapSizes.CurrSize - SIZE;
+ int newXPos = (LMI.Player.XPos - 2 >= 0) ? LMI.Player.XPos - 2 + buttonXPos : buttonXPos;
+ if (LMI.Player.XPos > MapSizes.CurrSize - 3) newXPos = buttonXPos + MapSizes.CurrSize - SIZE;
+
+ if (newYPos >= 0 && newXPos >= 0 && newYPos < MapSizes.CurrSize && newXPos < MapSizes.CurrSize) {
+ MobMoving.MoveMob( LMI.Player, newYPos, newXPos );
+ }
+
+ this.PrintScreen();
+ if (this.MapMenuIsVisible()) {
+ this.PrintMap();
+ }
+ }
+
+ /*Depending on whether you are on the edge of the map or in the center, the screen renders a bit differently.
+ *On the edge it doesn't follow the player and only shows the corner "chunk". In the other parts it follows the
+ *the player, making sure he stays in the center of the screen.
+ *This means that when the player is followed, rendered part of the map depend on the player position, but when
+ *he isn't, it depends on the screen and map sizes.*/
+ private int CalculateMaxY() {
+ int maxY = (LMI.Player.YPos - 2 >= 0) ? LMI.Player.YPos + 2 : SIZE - 1;
+ if (maxY >= MapSizes.CurrSize) maxY = MapSizes.CurrSize - 1;
+ return maxY;
+ }
+ private int CalculateStartY() {
+ int startY = (LMI.Player.YPos - 2 <= MapSizes.CurrSize - SIZE) ? LMI.Player.YPos - 2 : MapSizes.CurrSize - SIZE;
+ if (startY < 0) startY = 0;
+ return startY;
+ }
+ private int CalculateMaxX() {
+ int maxX = (LMI.Player.XPos - 2 >= 0) ? LMI.Player.XPos + 2 : SIZE - 1;
+ if (maxX >= MapSizes.CurrSize) maxX = MapSizes.CurrSize - 1;
+ return maxX;
+ }
+ private int CalculateStartX() {
+ int startX = (LMI.Player.XPos - 2 <= MapSizes.CurrSize - SIZE) ? LMI.Player.XPos - 2 : MapSizes.CurrSize - SIZE;
+ if (startX < 0) startX = 0;
+ return startX;
}
}
}
diff --git a/Mundus/gtk-gui/Mundus.Views.Windows.SmallGameWindow.cs b/Mundus/gtk-gui/Mundus.Views.Windows.SmallGameWindow.cs
index 85a6a45..2d73b26 100644
--- a/Mundus/gtk-gui/Mundus.Views.Windows.SmallGameWindow.cs
+++ b/Mundus/gtk-gui/Mundus.Views.Windows.SmallGameWindow.cs
@@ -2909,6 +2909,31 @@ namespace Mundus.Views.Windows
this.Show();
this.DeleteEvent += new global::Gtk.DeleteEventHandler(this.OnDeleteEvent);
this.btnPause.Clicked += new global::System.EventHandler(this.OnBtnPauseClicked);
+ this.btnP9.Clicked += new global::System.EventHandler(this.OnBtnP9Clicked);
+ this.btnP8.Clicked += new global::System.EventHandler(this.OnBtnP8Clicked);
+ this.btnP7.Clicked += new global::System.EventHandler(this.OnBtnP7Clicked);
+ this.btnP6.Clicked += new global::System.EventHandler(this.OnBtnP6Clicked);
+ this.btnP5.Clicked += new global::System.EventHandler(this.OnBtnP5Clicked);
+ this.btnP4.Clicked += new global::System.EventHandler(this.OnBtnP4Clicked);
+ this.btnP3.Clicked += new global::System.EventHandler(this.OnBtnP3Clicked);
+ this.btnP25.Clicked += new global::System.EventHandler(this.OnBtnP25Clicked);
+ this.btnP24.Clicked += new global::System.EventHandler(this.OnBtnP24Clicked);
+ this.btnP23.Clicked += new global::System.EventHandler(this.OnBtnP23Clicked);
+ this.btnP22.Clicked += new global::System.EventHandler(this.OnBtnP22Clicked);
+ this.btnP21.Clicked += new global::System.EventHandler(this.OnBtnP21Clicked);
+ this.btnP20.Clicked += new global::System.EventHandler(this.OnBtnP20Clicked);
+ this.btnP2.Clicked += new global::System.EventHandler(this.OnBtnP2Clicked);
+ this.btnP19.Clicked += new global::System.EventHandler(this.OnBtnP19Clicked);
+ this.btnP18.Clicked += new global::System.EventHandler(this.OnBtnP18Clicked);
+ this.btnP17.Clicked += new global::System.EventHandler(this.OnBtnP17Clicked);
+ this.btnP16.Clicked += new global::System.EventHandler(this.OnBtnP16Clicked);
+ this.btnP15.Clicked += new global::System.EventHandler(this.OnBtnP15Clicked);
+ this.btnP14.Clicked += new global::System.EventHandler(this.OnBtnP14Clicked);
+ this.btnP13.Clicked += new global::System.EventHandler(this.OnBtnP13Clicked);
+ this.btnP12.Clicked += new global::System.EventHandler(this.OnBtnP12Clicked);
+ this.btnP11.Clicked += new global::System.EventHandler(this.OnBtnP11Clicked);
+ this.btnP10.Clicked += new global::System.EventHandler(this.OnBtnP10Clicked);
+ this.btnP1.Clicked += new global::System.EventHandler(this.OnBtnP1Clicked);
this.btnMusic.Clicked += new global::System.EventHandler(this.OnBtnMusicClicked);
this.btnMap.Clicked += new global::System.EventHandler(this.OnBtnMapClicked);
this.btnInv.Clicked += new global::System.EventHandler(this.OnBtnInvClicked);
diff --git a/Mundus/gtk-gui/generated.cs b/Mundus/gtk-gui/generated.cs
index 63926e9..82ce78e 100644
--- a/Mundus/gtk-gui/generated.cs
+++ b/Mundus/gtk-gui/generated.cs
@@ -16,8 +16,10 @@ namespace Stetic
w1.Add("grass", w2);
global::Gtk.IconSet w3 = new global::Gtk.IconSet(global::Gdk.Pixbuf.LoadFromResource("Mundus.Icons.blank.jpg"));
w1.Add("blank", w3);
- global::Gtk.IconSet w4 = new global::Gtk.IconSet(global::Gdk.Pixbuf.LoadFromResource("Mundus.Icons.Land.Ground.boulder.png"));
+ global::Gtk.IconSet w4 = new global::Gtk.IconSet(global::Gdk.Pixbuf.LoadFromResource("Mundus.Icons.Land.Items.boulder.png"));
w1.Add("boulder", w4);
+ global::Gtk.IconSet w5 = new global::Gtk.IconSet(global::Gdk.Pixbuf.LoadFromResource("Mundus.Icons.player.png"));
+ w1.Add("player", w5);
w1.AddDefault();
}
}
diff --git a/Mundus/gtk-gui/gui.stetic b/Mundus/gtk-gui/gui.stetic
index 3fef9fb..2ddfeb3 100644
--- a/Mundus/gtk-gui/gui.stetic
+++ b/Mundus/gtk-gui/gui.stetic
@@ -19,7 +19,12 @@
</icon-set>
<icon-set id="boulder">
<source>
- <property name="Image">resource:Mundus.Icons.Land.Ground.boulder.png</property>
+ <property name="Image">resource:Mundus.Icons.Land.Items.boulder.png</property>
+ </source>
+ </icon-set>
+ <icon-set id="player">
+ <source>
+ <property name="Image">resource:Mundus.Icons.player.png</property>
</source>
</icon-set>
</icon-factory>
@@ -384,6 +389,7 @@
<property name="WidthRequest">90</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">Creative</property>
+ <property name="Active">True</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
@@ -412,6 +418,7 @@
<property name="WidthRequest">90</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">Easy</property>
+ <property name="Active">True</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
@@ -493,6 +500,7 @@
<property name="WidthRequest">90</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">Large</property>
+ <property name="Active">True</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
@@ -548,6 +556,7 @@
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">Large</property>
+ <property name="Active">True</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
@@ -2890,6 +2899,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP1Clicked" />
</widget>
<packing>
<property name="TopAttach">1</property>
@@ -2917,6 +2927,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP10Clicked" />
</widget>
<packing>
<property name="TopAttach">2</property>
@@ -2944,6 +2955,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP11Clicked" />
</widget>
<packing>
<property name="TopAttach">3</property>
@@ -2971,6 +2983,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP12Clicked" />
</widget>
<packing>
<property name="TopAttach">3</property>
@@ -2998,6 +3011,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP13Clicked" />
</widget>
<packing>
<property name="TopAttach">3</property>
@@ -3025,6 +3039,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP14Clicked" />
</widget>
<packing>
<property name="TopAttach">3</property>
@@ -3052,6 +3067,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP15Clicked" />
</widget>
<packing>
<property name="TopAttach">3</property>
@@ -3079,6 +3095,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP16Clicked" />
</widget>
<packing>
<property name="TopAttach">4</property>
@@ -3106,6 +3123,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP17Clicked" />
</widget>
<packing>
<property name="TopAttach">4</property>
@@ -3133,6 +3151,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP18Clicked" />
</widget>
<packing>
<property name="TopAttach">4</property>
@@ -3160,6 +3179,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP19Clicked" />
</widget>
<packing>
<property name="TopAttach">4</property>
@@ -3187,6 +3207,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP2Clicked" />
</widget>
<packing>
<property name="TopAttach">1</property>
@@ -3214,6 +3235,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP20Clicked" />
</widget>
<packing>
<property name="TopAttach">4</property>
@@ -3241,6 +3263,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP21Clicked" />
</widget>
<packing>
<property name="TopAttach">5</property>
@@ -3268,6 +3291,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP22Clicked" />
</widget>
<packing>
<property name="TopAttach">5</property>
@@ -3295,6 +3319,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP23Clicked" />
</widget>
<packing>
<property name="TopAttach">5</property>
@@ -3322,6 +3347,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP24Clicked" />
</widget>
<packing>
<property name="TopAttach">5</property>
@@ -3349,6 +3375,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP25Clicked" />
</widget>
<packing>
<property name="TopAttach">5</property>
@@ -3376,6 +3403,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP3Clicked" />
</widget>
<packing>
<property name="TopAttach">1</property>
@@ -3403,6 +3431,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP4Clicked" />
</widget>
<packing>
<property name="TopAttach">1</property>
@@ -3430,6 +3459,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP5Clicked" />
</widget>
<packing>
<property name="TopAttach">1</property>
@@ -3457,6 +3487,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP6Clicked" />
</widget>
<packing>
<property name="TopAttach">2</property>
@@ -3484,6 +3515,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP7Clicked" />
</widget>
<packing>
<property name="TopAttach">2</property>
@@ -3511,6 +3543,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP8Clicked" />
</widget>
<packing>
<property name="TopAttach">2</property>
@@ -3538,6 +3571,7 @@
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
+ <signal name="Clicked" handler="OnBtnP9Clicked" />
</widget>
<packing>
<property name="TopAttach">2</property>