Files
loop/src/Dodge/WorldEffect.hs
T
2022-07-21 18:26:48 +01:00

14 lines
444 B
Haskell

module Dodge.WorldEffect where
import Dodge.Data
import Dodge.Placement.Instance.Terminal
import Control.Lens
doWorldEffect :: WorldEffect -> World -> World
doWorldEffect we = case we of
NoWorldEffect -> id
SetTrigger bool tid -> triggers . ix tid .~ bool
SetLSCol col lsid -> lightSources . ix lsid . lsParam . lsCol .~ col
AccessTerminal mtmid -> accessTerminal mtmid
WorldEffects wes -> \w -> foldr doWorldEffect w wes