Files
loop/src/Dodge/Item/Weapon/Targeting.hs
T
2022-06-21 14:07:17 +01:00

21 lines
499 B
Haskell

module Dodge.Item.Weapon.Targeting
( useTargetPos
, removeItTarget
) where
import Dodge.Data
import Geometry.Data
import Control.Lens
--import qualified Data.IntMap.Strict as IM
useTargetPos
:: (Maybe Point2 -> Creature -> World -> World)
-> Creature
-> World
-> World
useTargetPos f cr w = case cr ^? crInv . ix (crSel cr) . itTargeting . tgPos of
Nothing -> w
Just p -> f p cr w
removeItTarget :: Item -> Item
removeItTarget = itTargeting . tgPos .~ Nothing