diff --git a/pytiled_parser/parsers/json/tiled_map.py b/pytiled_parser/parsers/json/tiled_map.py index c57a47e..e6398f9 100644 --- a/pytiled_parser/parsers/json/tiled_map.py +++ b/pytiled_parser/parsers/json/tiled_map.py @@ -127,31 +127,30 @@ def parse(file: Path) -> TiledMap: for my_layer in layers: for tiled_object in my_layer.tiled_objects: # type: ignore if hasattr(tiled_object, "new_tileset"): - if tiled_object.new_tileset: - already_loaded = None - for val in map_.tilesets.values(): - if val.name == tiled_object.new_tileset["name"]: - already_loaded = val - break + already_loaded = None + for val in map_.tilesets.values(): + if val.name == tiled_object.new_tileset["name"]: + already_loaded = val + break - if not already_loaded: - highest_firstgid = max(map_.tilesets.keys()) - last_tileset_count = map_.tilesets[highest_firstgid].tile_count - new_firstgid = highest_firstgid + last_tileset_count - map_.tilesets[new_firstgid] = parse_json_tileset( - tiled_object.new_tileset, - new_firstgid, - tiled_object.new_tileset_path, - ) - tiled_object.gid = tiled_object.gid + (new_firstgid - 1) + if not already_loaded: + highest_firstgid = max(map_.tilesets.keys()) + last_tileset_count = map_.tilesets[highest_firstgid].tile_count + new_firstgid = highest_firstgid + last_tileset_count + map_.tilesets[new_firstgid] = parse_json_tileset( + tiled_object.new_tileset, + new_firstgid, + tiled_object.new_tileset_path, + ) + tiled_object.gid = tiled_object.gid + (new_firstgid - 1) - else: - tiled_object.gid = tiled_object.gid + ( - already_loaded.firstgid - 1 - ) + else: + tiled_object.gid = tiled_object.gid + ( + already_loaded.firstgid - 1 + ) - tiled_object.new_tileset = None - tiled_object.new_tileset_path = None + tiled_object.new_tileset = None + tiled_object.new_tileset_path = None if raw_tiled_map.get("backgroundcolor") is not None: map_.background_color = parse_color(raw_tiled_map["backgroundcolor"])