mirror of
https://github.com/OMGeeky/pytiled_parser.git
synced 2025-12-26 17:02:28 +01:00
add tsx_file and parent_dir properties to TileSet
This commit is contained in:
@@ -444,6 +444,10 @@ class TileSet:
|
||||
Ordered according to the terrain element's appearance in the TSX \
|
||||
file.
|
||||
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
|
||||
@@ -459,6 +463,8 @@ class TileSet:
|
||||
image: Optional[Image] = None
|
||||
terrain_types: Optional[List[Terrain]] = None
|
||||
tiles: Optional[Dict[int, "Tile"]] = None
|
||||
tsx_file: Path = None
|
||||
parent_dir: Path = None
|
||||
|
||||
|
||||
TileSetDict = Dict[int, TileSet]
|
||||
|
||||
@@ -465,9 +465,15 @@ def _parse_external_tile_set(
|
||||
objects.Tileset: The tileset being parsed.
|
||||
"""
|
||||
source = Path(tile_set_element.attrib["source"])
|
||||
resolved_path = parent_dir / source
|
||||
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]:
|
||||
|
||||
Reference in New Issue
Block a user