diff options
Diffstat (limited to '')
-rw-r--r-- | lib/TiledAbstract.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/TiledAbstract.hs b/lib/TiledAbstract.hs index 88dd2ee..948a91a 100644 --- a/lib/TiledAbstract.hs +++ b/lib/TiledAbstract.hs @@ -7,7 +7,7 @@ import Data.Proxy (Proxy) import Data.Text (Text) import qualified Data.Vector as V import Tiled (Layer (..), Property (..), PropertyValue (..), - Tile (..), Tiledmap (..), Tileset (..)) + Tile (..), Tiledmap (..), Tileset (..), Object(..)) class HasProperties a where getProperties :: a -> [Property] @@ -28,6 +28,10 @@ instance HasProperties Tile where adjustProperties f tile = tile { tileProperties = (fmap V.fromList . f) (getProperties tile) } +instance HasProperties Object where + getProperties = V.toList . fromMaybe mempty . objectProperties + adjustProperties f obj = obj + { objectProperties = (fmap V.fromList . f) (getProperties obj) } instance HasProperties Tiledmap where getProperties = fromMaybe mempty . tiledmapProperties |