private TiledTile[] ParseTiles(XmlNodeList nodeList) { var result = new List <TiledTile>(); foreach (XmlNode node in nodeList) { var nodesProperty = node.SelectNodes("properties/property"); var nodesAnimation = node.SelectNodes("animation/frame"); var nodeImage = node.SelectSingleNode("image"); var tile = new TiledTile(); tile.id = int.Parse(node.Attributes["id"].Value); tile.type = node.Attributes["type"]?.Value; tile.terrain = node.Attributes["terrain"]?.Value.Split(',').AsIntArray(); tile.properties = ParseProperties(nodesProperty); tile.animation = ParseAnimations(nodesAnimation); if (nodeImage != null) { var tileImage = new TiledImage(); tileImage.width = int.Parse(nodeImage.Attributes["width"].Value); tileImage.height = int.Parse(nodeImage.Attributes["height"].Value); tileImage.source = nodeImage.Attributes["source"].Value; tile.image = tileImage; } result.Add(tile); } return(result.ToArray()); }
private TiledImage ParseImage(XmlNode node) { var tiledImage = new TiledImage(); tiledImage.source = node.Attributes["source"].Value; tiledImage.width = int.Parse(node.Attributes["width"].Value); tiledImage.height = int.Parse(node.Attributes["height"].Value); return(tiledImage); }