From 798e186947d2b4913e0685596e36c57cdd928624 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Sun, 31 May 2020 00:46:33 -0400 Subject: [PATCH] add: _get_tiled_object_caster --- pytiled_parser/tiled_object.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pytiled_parser/tiled_object.py b/pytiled_parser/tiled_object.py index e314a05..75b0cb4 100644 --- a/pytiled_parser/tiled_object.py +++ b/pytiled_parser/tiled_object.py @@ -168,6 +168,8 @@ class RawTiledObject(TypedDict): type: str properties: Properties template: Template + ellipse: bool + point: bool RawTiledObjects = List[RawTiledObject] @@ -279,6 +281,22 @@ def _get_tiled_object_caster( if raw_tiled_object.get("ellipse"): return _cast_ellipse + if raw_tiled_object.get("point"): + return _cast_point + + if raw_tiled_object.get("gid"): + # Only Tile objects have the `gid` key (I think) + return _cast_tile + + if raw_tiled_object.get("polygon"): + return _cast_polygon + + if raw_tiled_object.get("polyline"): + return _cast_polyline + + if raw_tiled_object.get("text"): + return _cast_text + raise RuntimeError("No caster found for TiledObject")