From 79bfe10dd55e860c93ebb0260c34d70c4b11db3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Wed, 14 May 2014 16:56:59 +0200 Subject: [PATCH] Seeen werden jetzt mit runden ecken gerendert --- src/Gui/MapPanel.cs | 34 +++++++++++++++++++++++++++++++++ textures/beachcorner_inner.png | Bin 0 -> 3439 bytes 2 files changed, 34 insertions(+) create mode 100644 textures/beachcorner_inner.png diff --git a/src/Gui/MapPanel.cs b/src/Gui/MapPanel.cs index 1f30eda..86f2049 100644 --- a/src/Gui/MapPanel.cs +++ b/src/Gui/MapPanel.cs @@ -50,6 +50,10 @@ namespace WorldOfPeacecraft private Image BeachTopRight; private Image BeachBottomLeft; private Image BeachBottomRight; + private Image BeachInnerTopLeft; + private Image BeachInnerTopRight; + private Image BeachInnerBotLeft; + private Image BeachInnerBotRight; private int FlowerCounter; public MapPanel (IBackend backend) @@ -149,6 +153,7 @@ namespace WorldOfPeacecraft DrawWallEdge(g, CountWater (bot, botleft, left), x, y, 0, offset, WallEdgeBotLeft, WallCornerBotLeft, (bot.IsWater () ? BeachBottom : BeachLeft)); } else if (tile.IsWater ()) { PaintImage(g, x, y, Water); + PaintBeachInnerEdge(g, locx, locy, x, y, map); PaintWallInnerEdge(g, locx, locy, x, y, map); } else { @@ -228,6 +233,30 @@ namespace WorldOfPeacecraft } } + private void PaintBeachInnerEdge (Graphics g, int locx, int locy, int x, int y, ITile[,] map) + { + bool topDry = GetTile (locx, locy - 1, map).IsWalkable() || GetTile (locx, locy - 1, map).IsWall(); + bool rightDry = GetTile (locx + 1, locy, map).IsWalkable() || GetTile (locx + 1, locy, map).IsWall(); + bool botDry = GetTile (locx, locy + 1, map).IsWalkable() || GetTile (locx, locy + 1, map).IsWall(); + bool leftDry = GetTile (locx - 1, locy, map).IsWalkable() || GetTile (locx - 1, locy, map).IsWall(); + if (leftDry) { + if (topDry) + if (GetTile (locx - 1, locy - 1, map).IsWalkable() || GetTile (locx - 1, locy - 1, map).IsWall()) + PaintImage (g, x, y, BeachInnerTopLeft); + if (botDry) + if (GetTile (locx - 1, locy + 1, map).IsWalkable()|| GetTile (locx - 1, locy + 1, map).IsWall()) + PaintImage (g, x, y, BeachInnerBotLeft); + } + if (rightDry) { + if (topDry) + if (GetTile (locx + 1, locy - 1, map).IsWalkable()|| GetTile (locx + 1, locy - 1, map).IsWall()) + PaintImage (g, x, y, BeachInnerTopRight); + if (botDry) + if (GetTile (locx + 1, locy + 1, map).IsWalkable()|| GetTile (locx + 1, locy + 1, map).IsWall()) + PaintImage (g, x, y, BeachInnerBotRight); + } + } + private void PaintWallInnerEdge (Graphics g, int locx, int locy, int x, int y, ITile[,] map) { bool topWall = NullsafeIsWall (locx, locy - 1, map); @@ -388,6 +417,10 @@ namespace WorldOfPeacecraft BeachBottomLeft = RotateFlipImage (BeachBottomRight, RotateFlipType.Rotate90FlipNone); BeachTopLeft = RotateFlipImage (BeachBottomRight, RotateFlipType.Rotate180FlipNone); BeachTopRight = RotateFlipImage (BeachBottomRight, RotateFlipType.Rotate270FlipNone); + BeachInnerBotRight = Image.FromFile (ImagesFolder + "beachcorner_inner.png"); + BeachInnerBotLeft = RotateFlipImage (BeachInnerBotRight, RotateFlipType.Rotate90FlipNone); + BeachInnerTopLeft = RotateFlipImage (BeachInnerBotRight, RotateFlipType.Rotate180FlipNone); + BeachInnerTopRight = RotateFlipImage (BeachInnerBotRight, RotateFlipType.Rotate270FlipNone); WallBase = Image.FromFile(ImagesFolder + "wall_base.png"); WallEdgeBotLeft = Image.FromFile (ImagesFolder + "wall_edge_botleft.png"); WallEdgeBotRight = Image.FromFile (ImagesFolder + "wall_edge_botright.png"); @@ -406,6 +439,7 @@ namespace WorldOfPeacecraft 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/beachcorner_inner.png b/textures/beachcorner_inner.png new file mode 100644 index 0000000000000000000000000000000000000000..985e561a6f9bcb24452d5b98c5f7a1956566512c GIT binary patch literal 3439 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 qbEm8`n&q%OTp`-Qq+`lYMzM_^ceo