From 9e5ecf2bd3be27be6e8d1dd9f0bf8d80cf1eaa30 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 16 Dec 2021 15:10:30 +0100 Subject: fixed & removed a bunch of old TODOs --- lib/TiledAbstract.hs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'lib/TiledAbstract.hs') diff --git a/lib/TiledAbstract.hs b/lib/TiledAbstract.hs index f7bbbb9..88dd2ee 100644 --- a/lib/TiledAbstract.hs +++ b/lib/TiledAbstract.hs @@ -2,11 +2,12 @@ module TiledAbstract where -import Data.Maybe (fromMaybe) -import Data.Proxy (Proxy) -import Data.Text (Text) -import Tiled (Layer (..), Property (..), PropertyValue (..), - Tiledmap (..), Tileset (..)) +import Data.Maybe (fromMaybe) +import Data.Proxy (Proxy) +import Data.Text (Text) +import qualified Data.Vector as V +import Tiled (Layer (..), Property (..), PropertyValue (..), + Tile (..), Tiledmap (..), Tileset (..)) class HasProperties a where getProperties :: a -> [Property] @@ -22,6 +23,12 @@ instance HasProperties Tileset where adjustProperties f tileset = tileset { tilesetProperties = f (getProperties tileset) } +instance HasProperties Tile where + getProperties = V.toList . fromMaybe mempty . tileProperties + adjustProperties f tile = tile + { tileProperties = (fmap V.fromList . f) (getProperties tile) } + + instance HasProperties Tiledmap where getProperties = fromMaybe mempty . tiledmapProperties adjustProperties f tiledmap = tiledmap -- cgit v1.2.3