summaryrefslogtreecommitdiff
path: root/lib/TiledAbstract.hs
diff options
context:
space:
mode:
authorstuebinm2021-12-18 17:19:48 +0100
committerstuebinm2021-12-18 17:19:48 +0100
commit8082e9ef10a08c362adba26aff4f2e5140f6f7f0 (patch)
treeb1edd880406a07d3da0a94f6c1783df1abe9a03d /lib/TiledAbstract.hs
parent766f883e88afbe476eac0433fc8c731756f64039 (diff)
badges are set on objects, not layers
(and `url` is, too)
Diffstat (limited to '')
-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