diff --git a/src/Gui/MapPanel.cs b/src/Gui/MapPanel.cs index cd0202a..1f30eda 100644 --- a/src/Gui/MapPanel.cs +++ b/src/Gui/MapPanel.cs @@ -23,8 +23,12 @@ namespace WorldOfPeacecraft private Image ForestBottom; private Image Knight; private Image Walkable; - private Image Water; private Image Flowers; + private Image Water; + private Image WaterInnerTopLeft; + private Image WaterInnerTopRight; + private Image WaterInnerBotLeft; + private Image WaterInnerBotRight; private Image WallBase; private Image WallEdgeTopLeft; private Image WallEdgeTopRight; @@ -149,7 +153,6 @@ namespace WorldOfPeacecraft } else { PaintImage (g, x, y, Walkable); - PaintWallInnerEdge(g, locx, locy, x, y, map); bool beachPlaced = false; if (NullsafeIsWater(locx - 1, locy, map)) { PaintImage(g, x, y, BeachLeft); @@ -193,6 +196,8 @@ namespace WorldOfPeacecraft } } + PaintWaterInnerEdge(g, locx, locy, x, y, map); + PaintWallInnerEdge(g, locx, locy, x, y, map); } if (tile.IsForest ()) { if (tile.IsHuntable ()) { @@ -243,6 +248,26 @@ namespace WorldOfPeacecraft } } + private void PaintWaterInnerEdge (Graphics g, int locx, int locy, int x, int y, ITile[,] map) + { + bool topWater = NullsafeIsWater (locx, locy - 1, map); + bool rightWater = NullsafeIsWater (locx + 1, locy, map); + bool botWater = NullsafeIsWater (locx, locy + 1, map); + bool leftWater = NullsafeIsWater (locx - 1, locy, map); + if (leftWater) { + if (topWater) + PaintImage (g, x, y, WaterInnerTopLeft); + if (botWater) + PaintImage (g, x, y, WaterInnerBotLeft); + } + if (rightWater) { + if (topWater) + PaintImage (g, x, y, WaterInnerTopRight); + if (botWater) + PaintImage (g, x, y, WaterInnerBotRight); + } + } + private void DrawWallEdge (Graphics g, int water, int x, int y, int offsetx, int offsety, Image edgeImage, Image cornerImage, Image beachImage) { if (water == -1) @@ -354,7 +379,6 @@ namespace WorldOfPeacecraft ForestBottom = Image.FromFile (ImagesFolder + "forest_bottom.png"); Knight = Image.FromFile (ImagesFolder + "knight.png"); Walkable = Image.FromFile (ImagesFolder + "walkable.jpg"); - Water = Image.FromFile (ImagesFolder + "water.jpg"); Flowers = Image.FromFile(ImagesFolder + "flowers.png"); BeachBottom = Image.FromFile (ImagesFolder + "beach.png"); BeachLeft = RotateFlipImage (BeachBottom, RotateFlipType.Rotate90FlipNone); @@ -377,6 +401,11 @@ namespace WorldOfPeacecraft WallInnerBotRight = Image.FromFile (ImagesFolder + "wall_inner_botright.png"); WallInnerTopLeft = Image.FromFile (ImagesFolder + "wall_inner_topleft.png"); WallInnerTopRight = Image.FromFile (ImagesFolder + "wall_inner_topright.png"); + Water = Image.FromFile (ImagesFolder + "water.jpg"); + WaterInnerTopLeft = Image.FromFile (ImagesFolder + "water_topleft.png"); + WaterInnerTopRight = Image.FromFile (ImagesFolder + "water_topright.png"); + WaterInnerBotLeft = Image.FromFile (ImagesFolder + "water_botleft.png"); + WaterInnerBotRight = Image.FromFile (ImagesFolder + "water_botright.png"); } public void InitializeComponents(){ diff --git a/textures/water_botleft.png b/textures/water_botleft.png new file mode 100644 index 0000000..ae769d3 Binary files /dev/null and b/textures/water_botleft.png differ diff --git a/textures/water_botright.png b/textures/water_botright.png new file mode 100644 index 0000000..f335269 Binary files /dev/null and b/textures/water_botright.png differ diff --git a/textures/water_topleft.png b/textures/water_topleft.png new file mode 100644 index 0000000..8cdbb71 Binary files /dev/null and b/textures/water_topleft.png differ diff --git a/textures/water_topright.png b/textures/water_topright.png new file mode 100644 index 0000000..96c11f4 Binary files /dev/null and b/textures/water_topright.png differ