public LocationMapState() : base()
        {
            this.currentMap = new StaticMap(TmxMapDeserializer.Deserialize("Content/Maps/town.tmx"));

            // Create one entity per tile
            for (var i = 0; i < this.currentMap.Tiles.Length; i++)
            {
                var sourceTile = this.currentMap.Tiles[i];

                this.Add(new CobaltEntity()
                         .Tile(this.currentMap.Tileset,
                               sourceTile.SourceTileX, sourceTile.SourceTileY, this.currentMap.TileWidth, this.currentMap.TileHeight)
                         .Move(sourceTile.X, sourceTile.Y));
            }

            this.player = new CobaltEntity().Sprite("Content/Images/Player.png")
                          .MoveToKeyboard(100)
                          .Move( // Locate just two tiles above the exit.
                this.currentMap.ExitLocationX, this.currentMap.ExitLocationY - 2 * this.currentMap.TileHeight);

            this.Add(this.player);
        }
 public void DeserializeDoesntThrowIfArgumentIsATmxMap()
 {
     TmxMapDeserializer.Deserialize(StaticMapTests.PathToEmptyMap);
 }
 public static void DeserializeThrowsIfArgumentIsNullOrEmpty(string filename)
 {
     Assert.Throws <ArgumentNullException>(() => TmxMapDeserializer.Deserialize(filename));
 }