From d641e9650232b94471f12c8d4037904dd4500151 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 26 Sep 2021 13:58:09 +0100 Subject: [PATCH] Fix light source creature id bug --- src/Dodge/Creature/Inanimate.hs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Dodge/Creature/Inanimate.hs b/src/Dodge/Creature/Inanimate.hs index 514e0ba76..1bf151368 100644 --- a/src/Dodge/Creature/Inanimate.hs +++ b/src/Dodge/Creature/Inanimate.hs @@ -74,17 +74,17 @@ polyToTriFold (s:x:xs) = L.fold (lTriFold s x) xs polyToTriFold _ = [] initialiseLamp :: Float -> CRUpdate -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)) - (V2 x y) = _crPos cr +initialiseLamp = initialiseColorLamp 0.75 initialiseColorLamp :: Point3 -> Float -> CRUpdate initialiseColorLamp col h cr _ = ( Endo addLS , Just $ cr & crUpdate .~ updateLamp h i) where i = _crID cr - addLS = over lightSources (IM.insert i (colorLightAt col (V3 x y h) i)) + addLS w = w + & lightSources %~ IM.insert lsid (colorLightAt col (V3 x y h) lsid) + & creatures . ix i . crUpdate .~ updateLamp h lsid + where + lsid = IM.newKey $ _lightSources w (V2 x y) = _crPos cr updateLamp :: Float -> Int -> CRUpdate