From bbde46e7db5fa23015ba09128efb27f6b7342675 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Sat, 4 Dec 2021 12:56:33 +0100 Subject: handle text objects in objectgroup layers --- lib/Tiled.hs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'lib/Tiled.hs') diff --git a/lib/Tiled.hs b/lib/Tiled.hs index 9df52d3..05839a7 100644 --- a/lib/Tiled.hs +++ b/lib/Tiled.hs @@ -121,7 +121,6 @@ data Object = ObjectPoint , objectWidth :: Double , objectRotation :: Double , objectGid :: Maybe GlobalId - , objectText :: Maybe Text , objectType :: Text , objectPoint :: Bool } @@ -134,7 +133,6 @@ data Object = ObjectPoint , objectY :: Double , objectRotation :: Double , objectGid :: Maybe GlobalId - , objectText :: Maybe Text , objectWidth :: Double , objectHeight :: Double , objectEllipse :: Maybe Bool @@ -149,7 +147,6 @@ data Object = ObjectPoint , objectY :: Double , objectRotation :: Double , objectGid :: Maybe GlobalId - , objectText :: Maybe Text , objectWidth :: Double , objectHeight :: Double , objectType :: Text @@ -164,18 +161,31 @@ data Object = ObjectPoint , objectY :: Double , objectRotation :: Double , objectGid :: Maybe GlobalId - , objectText :: Maybe Text , objectWidth :: Double , objectType :: Text , objectHeight :: Double , objectPolyline :: Vector Point + } + | ObjectText + { objectId :: Int + , objectName :: Maybe String + , objectProperties :: Maybe (Vector Property) + , objectVisible :: Maybe Bool + , objectX :: Double + , objectY :: Double + , objectRotation :: Double + , objectGid :: Maybe GlobalId + , objectText :: A.Value + , objectWidth :: Double + , objectHeight :: Double + , objectEllipse :: Maybe Bool + , objectType :: Text } deriving (Eq, Generic, Show) - instance FromJSON Object where parseJSON = genericParseJSON (aesonOptions 6) instance ToJSON Object where @@ -259,7 +269,7 @@ instance ToJSON Frame where data Tile = Tile { tileId :: Int - , tileProperties :: Maybe (Vector Value) + , tileProperties :: Maybe (Vector Property) , tileImage :: Maybe Value , tileObjectGroup :: Maybe Value , tileAnimation :: Maybe (Vector Frame) -- cgit v1.2.3