mirror of
https://github.com/OMGeeky/pytiled_parser.git
synced 2025-12-28 07:12:02 +01:00
recognise image layers
This commit is contained in:
@@ -420,6 +420,21 @@ class LayerGroup(Layer):
|
||||
layers: Optional[List[Union["LayerGroup", Layer, ObjectLayer]]]
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True, kw_only=True)
|
||||
class ImageLayer(Layer):
|
||||
"""Image Layer.
|
||||
|
||||
An image layer displays a single image.
|
||||
|
||||
See: https://doc.mapeditor.org/en/stable/reference/tmx-map-format/#imagelayer
|
||||
|
||||
Attributes:
|
||||
image: the image to display for this layer.
|
||||
"""
|
||||
|
||||
image: Image
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class TileSet:
|
||||
"""Object for storing a TSX with all associated collision data.
|
||||
|
||||
@@ -403,6 +403,29 @@ def _parse_object_layer(element: etree.Element,) -> objects.ObjectLayer:
|
||||
)
|
||||
|
||||
|
||||
def _parse_image_layer(element: etree.Element,) -> objects.ImageLayer:
|
||||
"""Parse the imagelayer element given.
|
||||
|
||||
Args:
|
||||
element: Element to be parsed.
|
||||
|
||||
Returns:
|
||||
ImageLayer: The image layer object.
|
||||
"""
|
||||
id_, name, offset, opacity, properties = _parse_layer(element)
|
||||
|
||||
image = _parse_image_element(element.find("./image"))
|
||||
|
||||
return objects.ImageLayer(
|
||||
id_=id_,
|
||||
name=name,
|
||||
offset=offset,
|
||||
opacity=opacity,
|
||||
properties=properties,
|
||||
image=image,
|
||||
)
|
||||
|
||||
|
||||
def _parse_layer_group(element: etree.Element,) -> objects.LayerGroup:
|
||||
"""Parse the objectgroup element given.
|
||||
|
||||
@@ -447,6 +470,8 @@ def _get_layer_parser(
|
||||
return _parse_object_layer
|
||||
if layer_tag == "group":
|
||||
return _parse_layer_group
|
||||
if layer_tag == "imagelayer":
|
||||
return _parse_image_layer
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user