Move toward diagnosing state update leak

This commit is contained in:
2021-08-18 11:53:14 +02:00
parent cfb27d4a76
commit a6f08aef16
9 changed files with 81 additions and 91 deletions
+3 -2
View File
@@ -14,7 +14,7 @@ import Dodge.Creature.State
import Dodge.LightSources
import Dodge.WorldEvent.Flash
import Dodge.WorldEvent.Sound
import Dodge.Creature.Update hiding (CRUpdate)
import Dodge.Creature.Update
import Picture
import qualified IntMapHelp as IM
import Geometry
@@ -25,6 +25,7 @@ import Polyhedra
import Control.Lens
import qualified Control.Foldl as L
--import qualified Data.Vector.Fusion.Stream.Monadic as VS
import Data.Monoid
defaultInanimate :: Creature
defaultInanimate = defaultCreature & crActionPlan .~ Inanimate
@@ -61,7 +62,7 @@ polyToTriFold (s:x:xs) = L.fold (lTriFold s x) xs
polyToTriFold _ = []
initialiseLamp :: Float -> CRUpdate
initialiseLamp h w (f,g) cr = ( (addLS . f , g), Just $ cr & crUpdate .~ updateLamp h i)
initialiseLamp h cr _ = ( Endo addLS , Just $ cr & crUpdate .~ updateLamp h i)
where
i = _crID cr
addLS = over lightSources (IM.insert i (lightAt (V3 x y h) i))