Apply side effects to universe not world
This commit is contained in:
+5
-1
@@ -52,6 +52,9 @@ import qualified Data.Map.Strict as M
|
||||
import SDL (Scancode, MouseButton)
|
||||
import Data.Monoid
|
||||
type CRUpdate = Creature -> World -> (Endo World, Maybe Creature)
|
||||
data Universe = Universe
|
||||
{ _uvWorld :: World
|
||||
}
|
||||
data World = World
|
||||
{ _keys :: !(S.Set Scancode)
|
||||
, _mouseButtons :: !(S.Set MouseButton)
|
||||
@@ -105,7 +108,7 @@ data World = World
|
||||
, _closeActiveObjects :: [Either FloorItem Button]
|
||||
, _seenLocations :: IM.IntMap (World -> Point2,String)
|
||||
, _selLocation :: Int
|
||||
, _sideEffects :: World -> IO World
|
||||
, _sideEffects :: Universe -> IO Universe
|
||||
, _inventoryMode :: InventoryMode
|
||||
, _distortions :: [Distortion]
|
||||
, _worldBounds :: Bounds
|
||||
@@ -900,3 +903,4 @@ makeLenses ''ItemDimension
|
||||
makeLenses ''Vocalization
|
||||
makeLenses ''UseDelay
|
||||
makeLenses ''AimParams
|
||||
makeLenses ''Universe
|
||||
|
||||
Reference in New Issue
Block a user