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 _ = []
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