mirror of
https://github.com/OMGeeky/pytiled_parser.git
synced 2026-02-23 15:49:52 +01:00
Merge pull request #14 from AberDerBart/master
feat: tsx_file and parent_dir properties of TileSet, fixes #13
This commit is contained in:
@@ -444,6 +444,10 @@ class TileSet:
|
|||||||
Ordered according to the terrain element's appearance in the TSX \
|
Ordered according to the terrain element's appearance in the TSX \
|
||||||
file.
|
file.
|
||||||
tiles (Optional[Dict[int, Tile]]): Dict of Tile objects by Tile.id.
|
tiles (Optional[Dict[int, Tile]]): Dict of Tile objects by Tile.id.
|
||||||
|
tsx_file (Path): Path of the file containing the tileset, \
|
||||||
|
None if loaded internally from a map
|
||||||
|
parent_dir (Path): Path of the parent directory of the file \
|
||||||
|
containing the tileset, None if loaded internally from a map
|
||||||
"""
|
"""
|
||||||
|
|
||||||
name: str
|
name: str
|
||||||
@@ -459,6 +463,8 @@ class TileSet:
|
|||||||
image: Optional[Image] = None
|
image: Optional[Image] = None
|
||||||
terrain_types: Optional[List[Terrain]] = None
|
terrain_types: Optional[List[Terrain]] = None
|
||||||
tiles: Optional[Dict[int, "Tile"]] = None
|
tiles: Optional[Dict[int, "Tile"]] = None
|
||||||
|
tsx_file: Path = None
|
||||||
|
parent_dir: Path = None
|
||||||
|
|
||||||
|
|
||||||
TileSetDict = Dict[int, TileSet]
|
TileSetDict = Dict[int, TileSet]
|
||||||
|
|||||||
@@ -465,9 +465,15 @@ def _parse_external_tile_set(
|
|||||||
objects.Tileset: The tileset being parsed.
|
objects.Tileset: The tileset being parsed.
|
||||||
"""
|
"""
|
||||||
source = Path(tile_set_element.attrib["source"])
|
source = Path(tile_set_element.attrib["source"])
|
||||||
|
resolved_path = parent_dir / source
|
||||||
tile_set_tree = etree.parse(str(parent_dir / Path(source))).getroot()
|
tile_set_tree = etree.parse(str(parent_dir / Path(source))).getroot()
|
||||||
|
|
||||||
return _parse_tile_set(tile_set_tree)
|
parsed_tile_set = _parse_tile_set(tile_set_tree)
|
||||||
|
|
||||||
|
parsed_tile_set.tsx_file = resolved_path
|
||||||
|
parsed_tile_set.parent_dir = resolved_path.parent
|
||||||
|
|
||||||
|
return parsed_tile_set
|
||||||
|
|
||||||
|
|
||||||
def _parse_points(point_string: str) -> List[objects.OrderedPair]:
|
def _parse_points(point_string: str) -> List[objects.OrderedPair]:
|
||||||
|
|||||||
Reference in New Issue
Block a user