From 3286db1c862d54ded978e5c113ce7d81eabb2b53 Mon Sep 17 00:00:00 2001 From: Colin McMillen Date: Sun, 2 Feb 2020 09:33:33 -0500 Subject: [PATCH] remove Terrain.Empty and clean up TextureSource() switch statement GitOrigin-RevId: 7de691a440982a027898b123b864ff202ae68ea5 --- Shared/World.cs | 49 +++++++++++++++++++------------------------------ 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/Shared/World.cs b/Shared/World.cs index c1e6869..dcee7b3 100644 --- a/Shared/World.cs +++ b/Shared/World.cs @@ -1,11 +1,11 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; +using System; using System.Collections.Generic; using System.Linq; namespace SemiColinGames { enum Terrain { - Empty, Grass, GrassL, GrassR, @@ -38,32 +38,24 @@ namespace SemiColinGames { private Rectangle TextureSource() { int size = World.TileSize; switch (Terrain) { - case Terrain.Grass: { + case Terrain.Grass: return new Rectangle(3 * size, 0 * size, size, size); - } - case Terrain.GrassL: { + case Terrain.GrassL: return new Rectangle(2 * size, 0 * size, size, size); - } - case Terrain.GrassR: { - return new Rectangle(4 * size, 0 * size, size, size); - } - case Terrain.Rock: { - return new Rectangle(3 * size, 1 * size, size, size); - } - case Terrain.RockL: { - return new Rectangle(1 * size, 2 * size, size, size); - } - case Terrain.RockR: { - return new Rectangle(5 * size, 2 * size, size, size); - } - case Terrain.Water: { - return new Rectangle(9 * size, 2 * size, size, size); - } - case Terrain.Block: { - return new Rectangle(6 * size, 3 * size, size, size); - } - case Terrain.Empty: + case Terrain.GrassR: + return new Rectangle(4 * size, 0 * size, size, size); + case Terrain.Rock: + return new Rectangle(3 * size, 1 * size, size, size); + case Terrain.RockL: + return new Rectangle(1 * size, 2 * size, size, size); + case Terrain.RockR: + return new Rectangle(5 * size, 2 * size, size, size); + case Terrain.Water: + return new Rectangle(9 * size, 2 * size, size, size); + case Terrain.Block: + return new Rectangle(6 * size, 3 * size, size, size); default: + Debug.WriteLine("Tile.TextureSource(): rectangle not found"); return new Rectangle(); } } @@ -113,7 +105,7 @@ namespace SemiColinGames { Debug.WriteLine("world size: {0}x{1}", tileWidth, tileHeight); for (int i = 0; i < tileWidth; i++) { for (int j = 0; j < tileHeight; j++) { - Terrain terrain = Terrain.Empty; + Terrain? terrain = null; if (i < worldDesc[j].Length) { switch (worldDesc[j][i]) { case '=': @@ -140,14 +132,11 @@ namespace SemiColinGames { case 'X': terrain = Terrain.Block; break; - default: - terrain = Terrain.Empty; - break; } } - if (terrain != Terrain.Empty) { + if (terrain != null) { var position = new Rectangle(i * TileSize, j * TileSize, TileSize, TileSize); - tilesList.Add(new Tile(texture, terrain, position)); + tilesList.Add(new Tile(texture, terrain.Value, position)); } } }