summaryrefslogtreecommitdiff
path: root/lib/TiledAbstract.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/TiledAbstract.hs')
-rw-r--r--lib/TiledAbstract.hs6
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