Linting, haddocking
This commit is contained in:
+16
-16
@@ -7,6 +7,8 @@ module Dodge.Update
|
||||
) where
|
||||
import Dodge.Data
|
||||
import Dodge.Data.Menu
|
||||
import Dodge.Config.Data
|
||||
import Dodge.Data.Menu
|
||||
import Dodge.Base
|
||||
import Dodge.WallCreatureCollisions
|
||||
import Dodge.LevelGen.Block
|
||||
@@ -40,7 +42,7 @@ In such menus, the only way to change the world is using event handling.
|
||||
-}
|
||||
update' :: World -> World
|
||||
update' w = case _menuLayers w of
|
||||
(ConfigSaveScreen : ls) -> w & menuLayers .~ ls
|
||||
(WaitMessage _ : ls) -> w & menuLayers .~ ls
|
||||
(_ : _) -> w
|
||||
[] -> let w1 = updateParticles
|
||||
. updateProjectiles
|
||||
@@ -53,13 +55,13 @@ update' w = case _menuLayers w of
|
||||
. updateSoundQueue
|
||||
$ updateCloseObjects w
|
||||
in checkEndGame
|
||||
. triggerUpdate
|
||||
. updateTriggers
|
||||
. ppEvents
|
||||
. updateCamera
|
||||
. colCrsWalls
|
||||
. simpleCrSprings
|
||||
. zoneCreatures
|
||||
. wallEvents
|
||||
. updateWalls
|
||||
. set worldEvents id
|
||||
$ _worldEvents w1 w1
|
||||
where
|
||||
@@ -72,16 +74,15 @@ update' w = case _menuLayers w of
|
||||
where (x,y) = zoneOfPoint $ _clPos cr
|
||||
cid = _clID cr
|
||||
|
||||
triggerUpdate :: World -> World
|
||||
triggerUpdate w
|
||||
updateTriggers :: World -> World
|
||||
updateTriggers w
|
||||
| ResetLevel 1 `S.member` _worldTriggers w
|
||||
= generateFromList levx
|
||||
$ initialWorld
|
||||
& randGen .~ _randGen w
|
||||
& windowX .~ _windowX w
|
||||
& windowY .~ _windowY w
|
||||
& menuLayers .~ []
|
||||
& creatures . ix 0 .~ (_creatures w IM.! 0 & crPos .~ (0,0))
|
||||
& randGen .~ _randGen w
|
||||
& config .~ _config w
|
||||
& menuLayers .~ []
|
||||
& creatures . ix 0 . crPos .~ (0,0)
|
||||
| otherwise = w
|
||||
|
||||
updateSoundQueue = set soundQueue [] . set sounds M.empty
|
||||
@@ -107,12 +108,11 @@ updateCreatures w = f $ set randGen newG $ set creatures (IM.mapMaybe id crs) w
|
||||
((f,newG),crs) = IM.mapAccum (\g' cr -> _crUpdate cr w g' cr) (id,_randGen w)
|
||||
$ _creatures w
|
||||
|
||||
|
||||
wallEvents :: World -> World
|
||||
wallEvents w = IM.foldr (_doorMech) w ( IM.filter (\d -> case d of
|
||||
Door {} -> True
|
||||
BlockAutoDoor {} -> True
|
||||
_ -> False) ( _walls w))
|
||||
{- |
|
||||
Apply door mechanisms.
|
||||
-}
|
||||
updateWalls :: World -> World
|
||||
updateWalls w = IM.foldr (maybe id id . (^? doorMech)) w (_walls w)
|
||||
|
||||
ppEvents :: World -> World
|
||||
ppEvents w = IM.foldr (\pp w -> _ppEvent pp pp w) w $ _pressPlates w
|
||||
|
||||
Reference in New Issue
Block a user