chore: moved location of tileset.cast in the code.

This commit is contained in:
Darren Eberly
2020-06-06 14:55:38 -04:00
parent ae7f37f4cd
commit e2e3873b1d

View File

@@ -236,84 +236,6 @@ class RawTileSet(TypedDict):
version: float
def cast(raw_tileset: RawTileSet) -> TileSet:
""" Cast the raw tileset into a pytiled_parser type
Args:
raw_tileset: Raw Tileset to be cast.
Returns:
TileSet: a properly typed TileSet.
"""
name = raw_tileset["name"]
tile_count = raw_tileset["tilecount"]
tile_width = raw_tileset["tilewidth"]
tile_height = raw_tileset["tileheight"]
columns = raw_tileset["columns"]
spacing = raw_tileset["spacing"]
margin = raw_tileset["margin"]
version = raw_tileset["version"]
tiled_version = raw_tileset["tiledversion"]
image = Path(raw_tileset["image"])
image_width = raw_tileset["imagewidth"]
image_height = raw_tileset["imageheight"]
tileset = TileSet(
name=name,
tile_count=tile_count,
tile_width=tile_width,
tile_height=tile_height,
columns=columns,
spacing=spacing,
margin=margin,
version=version,
tiled_version=tiled_version,
image=image,
image_width=image_width,
image_height=image_height,
)
if raw_tileset.get("firstgid") is not None:
tileset.firstgid = raw_tileset["firstgid"]
if raw_tileset.get("backgroundcolor") is not None:
tileset.background_color = raw_tileset["backgroundcolor"]
if raw_tileset.get("tileoffset") is not None:
tileset.tile_offset = _cast_tile_offset(raw_tileset["tileoffset"])
if raw_tileset.get("transparentcolor") is not None:
tileset.transparent_color = raw_tileset["transparentcolor"]
if raw_tileset.get("grid") is not None:
tileset.grid = _cast_grid(raw_tileset["grid"])
if raw_tileset.get("properties") is not None:
tileset.properties = properties_.cast(raw_tileset["properties"])
if raw_tileset.get("terrains") is not None:
terrains = []
for raw_terrain in raw_tileset["terrains"]:
terrains.append(_cast_terrain(raw_terrain))
tileset.terrain_types = terrains
if raw_tileset.get("tiles") is not None:
tiles = []
for raw_tile in raw_tileset["tiles"]:
tiles.append(_cast_tile(raw_tile))
tileset.tiles = tiles
if raw_tileset.get("source") is not None:
tileset.source_file = Path(raw_tileset["source"])
return tileset
def _cast_frame(raw_frame: RawFrame) -> Frame:
""" Cast the raw_frame to a Frame.
@@ -421,3 +343,81 @@ def _cast_grid(raw_grid: RawGrid) -> Grid:
width=raw_grid["width"],
height=raw_grid["height"],
)
def cast(raw_tileset: RawTileSet) -> TileSet:
""" Cast the raw tileset into a pytiled_parser type
Args:
raw_tileset: Raw Tileset to be cast.
Returns:
TileSet: a properly typed TileSet.
"""
name = raw_tileset["name"]
tile_count = raw_tileset["tilecount"]
tile_width = raw_tileset["tilewidth"]
tile_height = raw_tileset["tileheight"]
columns = raw_tileset["columns"]
spacing = raw_tileset["spacing"]
margin = raw_tileset["margin"]
version = raw_tileset["version"]
tiled_version = raw_tileset["tiledversion"]
image = Path(raw_tileset["image"])
image_width = raw_tileset["imagewidth"]
image_height = raw_tileset["imageheight"]
tileset = TileSet(
name=name,
tile_count=tile_count,
tile_width=tile_width,
tile_height=tile_height,
columns=columns,
spacing=spacing,
margin=margin,
version=version,
tiled_version=tiled_version,
image=image,
image_width=image_width,
image_height=image_height,
)
if raw_tileset.get("firstgid") is not None:
tileset.firstgid = raw_tileset["firstgid"]
if raw_tileset.get("backgroundcolor") is not None:
tileset.background_color = raw_tileset["backgroundcolor"]
if raw_tileset.get("tileoffset") is not None:
tileset.tile_offset = _cast_tile_offset(raw_tileset["tileoffset"])
if raw_tileset.get("transparentcolor") is not None:
tileset.transparent_color = raw_tileset["transparentcolor"]
if raw_tileset.get("grid") is not None:
tileset.grid = _cast_grid(raw_tileset["grid"])
if raw_tileset.get("properties") is not None:
tileset.properties = properties_.cast(raw_tileset["properties"])
if raw_tileset.get("terrains") is not None:
terrains = []
for raw_terrain in raw_tileset["terrains"]:
terrains.append(_cast_terrain(raw_terrain))
tileset.terrain_types = terrains
if raw_tileset.get("tiles") is not None:
tiles = []
for raw_tile in raw_tileset["tiles"]:
tiles.append(_cast_tile(raw_tile))
tileset.tiles = tiles
if raw_tileset.get("source") is not None:
tileset.source_file = Path(raw_tileset["source"])
return tileset