From 6e48bd38850f6326fe435ff87af3ca14e6707379 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Thu, 9 Feb 2023 23:25:05 +0000 Subject: Spawn objects For now only the Player. --- src/Game/Map.hs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/Game/Map.hs') diff --git a/src/Game/Map.hs b/src/Game/Map.hs index a1c7e84..b4d848e 100644 --- a/src/Game/Map.hs +++ b/src/Game/Map.hs @@ -1,5 +1,7 @@ module Game.Map ( Map, + MapObject (..), + objects, load, render, isBlocked, @@ -28,6 +30,7 @@ data Layer {name :: String, objects :: [MapObject]} deriving (Show) +-- | The object types in the map. data MapObject = PlayerEntity Int Int deriving (Show) data JsonMapData = JsonMapData @@ -130,6 +133,10 @@ isBlocked :: Map -> Int -> Int -> Bool isBlocked (Map (MapData mapWidth _ ts _ blocked _) _) x y = blocked !! ((x `div` ts.width) + (y `div` ts.height) * mapWidth) >= ts.firstGid +-- | Returns the objects in the map. +objects :: Map -> [MapObject] +objects (Map md _) = md.objects + -- | Renders a map. render :: SDL.Renderer -> Map -> IO () render renderer (Map mapData tex) = do -- cgit v1.2.3