mirror of
https://github.com/OMGeeky/pytiled_parser.git
synced 2025-12-29 23:55:56 +01:00
Support for tilerendersize and fillmode on tileset
This commit is contained in:
@@ -74,6 +74,7 @@ RawTileSet = TypedDict(
|
||||
"margin": int,
|
||||
"name": str,
|
||||
"properties": List[RawProperty],
|
||||
"fillmode": str,
|
||||
"objectalignment": str,
|
||||
"source": str,
|
||||
"spacing": int,
|
||||
@@ -81,6 +82,7 @@ RawTileSet = TypedDict(
|
||||
"tiledversion": str,
|
||||
"tileheight": int,
|
||||
"tileoffset": RawTileOffset,
|
||||
"tilerendersize": str,
|
||||
"tiles": List[RawTile],
|
||||
"tilewidth": int,
|
||||
"transparentcolor": str,
|
||||
@@ -296,4 +298,10 @@ def parse(
|
||||
if raw_tileset.get("class") is not None:
|
||||
tileset.class_ = raw_tileset["class"]
|
||||
|
||||
if raw_tileset.get("tilerendersize") is not None:
|
||||
tileset.tile_render_size = raw_tileset["tilerendersize"]
|
||||
|
||||
if raw_tileset.get("fillmode") is not None:
|
||||
tileset.fill_mode = raw_tileset["fillmode"]
|
||||
|
||||
return tileset
|
||||
|
||||
@@ -147,6 +147,12 @@ def parse(
|
||||
if raw_tileset.attrib.get("class") is not None:
|
||||
tileset.class_ = raw_tileset.attrib["class"]
|
||||
|
||||
if raw_tileset.attrib.get("fillmode") is not None:
|
||||
tileset.fill_mode = raw_tileset.attrib["fillmode"]
|
||||
|
||||
if raw_tileset.attrib.get("tilerendersize") is not None:
|
||||
tileset.tile_render_size = raw_tileset.attrib["tilerendersize"]
|
||||
|
||||
image_element = raw_tileset.find("image")
|
||||
if image_element is not None:
|
||||
if external_path:
|
||||
|
||||
@@ -183,6 +183,9 @@ class Tileset:
|
||||
implementation in a game engine would need to use these values.
|
||||
alignment: Which alignment to use for tile objects from this tileset.
|
||||
class_: The Tiled class of this TileSet.
|
||||
tile_render_size: The size to use when rendering tiles from this tileset. Can be either "tile" or "grid".
|
||||
fill_mode: The fill mode to use when rendering tiles from this tileset.
|
||||
Can be either "stretch" or "preserve-aspect-fit".
|
||||
"""
|
||||
|
||||
name: str
|
||||
@@ -195,6 +198,8 @@ class Tileset:
|
||||
firstgid: int
|
||||
|
||||
type: str = "tileset"
|
||||
tile_render_size: str = "tile"
|
||||
fill_mode: str = "stretch"
|
||||
|
||||
spacing: int = 0
|
||||
margin: int = 0
|
||||
|
||||
@@ -12,10 +12,12 @@ EXPECTED = tileset.Tileset(
|
||||
spacing=1,
|
||||
name="tile_set_image",
|
||||
tile_count=48,
|
||||
tiled_version="1.8.5",
|
||||
tiled_version="1.9.1",
|
||||
tile_height=32,
|
||||
tile_width=32,
|
||||
version="1.8",
|
||||
version="1.9",
|
||||
type="tileset",
|
||||
alignment="topleft"
|
||||
alignment="topleft",
|
||||
tile_render_size="grid",
|
||||
fill_mode="preserve-aspect-fit"
|
||||
)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ "columns":8,
|
||||
"fillmode":"preserve-aspect-fit",
|
||||
"image":"..\/..\/images\/tmw_desert_spacing.png",
|
||||
"imageheight":199,
|
||||
"imagewidth":265,
|
||||
@@ -7,9 +8,10 @@
|
||||
"objectalignment":"topleft",
|
||||
"spacing":1,
|
||||
"tilecount":48,
|
||||
"tiledversion":"1.9.0",
|
||||
"tiledversion":"1.9.1",
|
||||
"tileheight":32,
|
||||
"tilerendersize":"grid",
|
||||
"tilewidth":32,
|
||||
"type":"tileset",
|
||||
"version":"1.8"
|
||||
"version":"1.9"
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.9" tiledversion="1.9.0" name="tile_set_image" tilewidth="32" tileheight="32" spacing="1" margin="1" tilecount="48" columns="8" objectalignment="topleft">
|
||||
<tileset version="1.9" tiledversion="1.9.1" name="tile_set_image" tilewidth="32" tileheight="32" spacing="1" margin="1" tilecount="48" columns="8" objectalignment="topleft" tilerendersize="grid" fillmode="preserve-aspect-fit">
|
||||
<image source="../../images/tmw_desert_spacing.png" width="265" height="199"/>
|
||||
</tileset>
|
||||
|
||||
Reference in New Issue
Block a user