aboutsummaryrefslogtreecommitdiff
path: root/src/Game.hs
diff options
context:
space:
mode:
authorJuan J. Martinez <jjm@usebox.net>2023-02-05 23:18:30 +0000
committerJuan J. Martinez <jjm@usebox.net>2023-02-05 23:24:06 +0000
commitb9578c2a2c60d75c4a4d4519f10b99703ee5ea27 (patch)
tree286fb453a4c73daa4b8350dca1be5ea2cb21f0e9 /src/Game.hs
parentfb1c60789db8e71584211cbef19811298c8fd6e6 (diff)
downloadspace-plat-hs-b9578c2a2c60d75c4a4d4519f10b99703ee5ea27.tar.gz
space-plat-hs-b9578c2a2c60d75c4a4d4519f10b99703ee5ea27.zip
Swpan new entities
- Each entity can generate a list of "spawns" (add a new entity) - Added a "dust" effect to the jump WIP TODO: probably wrap the entity list in a type so we don't need to pass the spritesheet to the update function.
Diffstat (limited to 'src/Game.hs')
-rw-r--r--src/Game.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Game.hs b/src/Game.hs
index 3121ddf..28e14e7 100644
--- a/src/Game.hs
+++ b/src/Game.hs
@@ -110,6 +110,7 @@ gameLoop = do
controls = _controls env
map' = _map env
entities = _entities env
+ sprites = _sprites env
events <- map SDL.eventPayload <$> SDL.pollEvents
@@ -125,8 +126,7 @@ gameLoop = do
SDL.rendererRenderTarget renderer $= Just canvas
SDL.clear renderer
- -- update entities filtering out the ones that have been destroyed
- updated <- liftIO $ fmap (filter (not . E.eDestroy)) (traverse (\e -> E.eUpdate e e) =<< readIORef entities)
+ updated <- liftIO $ E.update sprites =<< readIORef entities
entities $= updated
-- render map and entities