diff options
author | stuebinm | 2021-12-16 15:10:30 +0100 |
---|---|---|
committer | stuebinm | 2021-12-16 15:10:30 +0100 |
commit | 9e5ecf2bd3be27be6e8d1dd9f0bf8d80cf1eaa30 (patch) | |
tree | 3b517ddd86b761a433641b3532caa18d5c487e47 /lib/TiledAbstract.hs | |
parent | 1144f4b4aa4dbe9522a64aaec0f8488c5f2c62e3 (diff) |
fixed & removed a bunch of old TODOs
Diffstat (limited to '')
-rw-r--r-- | lib/TiledAbstract.hs | 17 |
1 files changed, 12 insertions, 5 deletions
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 |