mirror of
https://github.com/OMGeeky/pytiled_parser.git
synced 2026-02-14 15:21:14 +01:00
Merge branch 'rf/caster' of https://github.com/Beefy-Swain/pytiled_parser into rf/caster
This commit is contained in:
@@ -6,6 +6,7 @@ import attr
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from .properties import Properties, RawProperties
|
||||
from .common_types import Color, OrderedPair, Size
|
||||
from .template import Template
|
||||
|
||||
|
||||
@@ -125,12 +126,12 @@ class Text(TiledObject):
|
||||
font_family: str = "sans-serif"
|
||||
font_size: int = 16
|
||||
wrap: bool = False
|
||||
color: str = "#000000"
|
||||
color: Color = "#000000"
|
||||
bold: bool = False
|
||||
italic: bool = False
|
||||
underline: bool = False
|
||||
strike_out: bool = False
|
||||
kerning: bool = False
|
||||
kerning: bool = True
|
||||
horizontal_align: str = "left"
|
||||
vertical_align: str = "top"
|
||||
|
||||
@@ -148,9 +149,6 @@ class Tile(TiledObject):
|
||||
gid: int
|
||||
|
||||
|
||||
RawProperties = Dict[str, Union[str, float, bool]]
|
||||
|
||||
|
||||
class RawTiledObject(TypedDict):
|
||||
""" The keys and their types that appear in a Tiled JSON Object."""
|
||||
|
||||
@@ -170,6 +168,8 @@ class RawTiledObject(TypedDict):
|
||||
ellipse: bool
|
||||
point: bool
|
||||
polygon: List[Dict[str, float]]
|
||||
polyline: List[Dict[str, float]]
|
||||
text: Dict[str, Union[float, str]]
|
||||
|
||||
|
||||
RawTiledObjects = List[RawTiledObject]
|
||||
@@ -267,6 +267,14 @@ def _cast_point(raw_tiled_object: RawTiledObject) -> Point:
|
||||
|
||||
|
||||
def _cast_tile(raw_tiled_object: RawTiledObject) -> Tile:
|
||||
""" Cast the raw_tiled_object to a Tile object.
|
||||
|
||||
Args:
|
||||
raw_tiled_object: Raw Tiled object to be casted to a Tile
|
||||
|
||||
Returns:
|
||||
Tile: The Tile object created from the raw_tiled_object
|
||||
"""
|
||||
gid = raw_tiled_object["gid"]
|
||||
|
||||
return Tile(gid=gid, **_get_common_attributes(raw_tiled_object).__dict__)
|
||||
|
||||
@@ -1051,6 +1051,47 @@ TEXTS = [
|
||||
coordinates=common_types.OrderedPair(96.3338140843469, 130.620495623508),
|
||||
),
|
||||
),
|
||||
(
|
||||
"""
|
||||
{
|
||||
"height":19,
|
||||
"id":31,
|
||||
"name":"name: text - font options",
|
||||
"rotation":0,
|
||||
"text":
|
||||
{
|
||||
"bold":true,
|
||||
"italic":true,
|
||||
"kerning":false,
|
||||
"strikeout":true,
|
||||
"text":"Hello World",
|
||||
"underline":true,
|
||||
"wrap":true
|
||||
},
|
||||
"type":"text",
|
||||
"visible":true,
|
||||
"width":92.375,
|
||||
"x":33,
|
||||
"y":22
|
||||
}
|
||||
""",
|
||||
tiled_object.Text(
|
||||
id=31,
|
||||
name="name: text - font options",
|
||||
rotation=0,
|
||||
bold=True,
|
||||
italic=True,
|
||||
kerning=False,
|
||||
strike_out=True,
|
||||
text="Hello World",
|
||||
underline=True,
|
||||
wrap=True,
|
||||
type="text",
|
||||
visible=True,
|
||||
size=common_types.Size(92.375, 19),
|
||||
coordinates=common_types.OrderedPair(33, 22),
|
||||
),
|
||||
),
|
||||
]
|
||||
|
||||
OBJECTS = ELLIPSES + RECTANGLES + POINTS + TILES + POLYGONS + POLYLINES + TEXTS
|
||||
|
||||
Reference in New Issue
Block a user