Fix light source creature id bug

This commit is contained in:
2021-09-26 13:58:09 +01:00
parent 79b2692199
commit d641e96502
+6 -6
View File
@@ -74,17 +74,17 @@ polyToTriFold (s:x:xs) = L.fold (lTriFold s x) xs
polyToTriFold _ = [] polyToTriFold _ = []
initialiseLamp :: Float -> CRUpdate initialiseLamp :: Float -> CRUpdate
initialiseLamp h cr _ = ( Endo addLS , Just $ cr & crUpdate .~ updateLamp h i) initialiseLamp = initialiseColorLamp 0.75
where
i = _crID cr
addLS = over lightSources (IM.insert i (lightAt (V3 x y h) i))
(V2 x y) = _crPos cr
initialiseColorLamp :: Point3 -> Float -> CRUpdate initialiseColorLamp :: Point3 -> Float -> CRUpdate
initialiseColorLamp col h cr _ = ( Endo addLS , Just $ cr & crUpdate .~ updateLamp h i) initialiseColorLamp col h cr _ = ( Endo addLS , Just $ cr & crUpdate .~ updateLamp h i)
where where
i = _crID cr 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 (V2 x y) = _crPos cr
updateLamp :: Float -> Int -> CRUpdate updateLamp :: Float -> Int -> CRUpdate