Refactor, try to limit dependencies

This commit is contained in:
2022-07-28 00:59:56 +01:00
parent 8aa5c17ab9
commit 160560af5f
418 changed files with 15104 additions and 13342 deletions
+11 -9
View File
@@ -1,24 +1,26 @@
module Dodge.HeldScroll
( doHeldScroll
) where
import Dodge.Data
import Dodge.Item.Weapon.ZoomScope
import Control.Lens hiding ((|>),(<|))
module Dodge.HeldScroll (
doHeldScroll,
) where
import Control.Lens hiding ((<|), (|>))
import Data.Sequence
import Dodge.Data.Creature
import Dodge.Item.Weapon.ZoomScope
-- should be able to just import data.item
doHeldScroll :: HeldScroll -> Float -> Creature -> Item -> Item
doHeldScroll hs = case hs of
HeldScrollDoNothing -> const . const id
HeldScrollZoom -> zoomLongGun
HeldScrollCharMode {} -> \ x _ -> itUse . heldScroll . hsCharMode %~ cycleSignum x
HeldScrollInt {} -> undefined
HeldScrollCharMode{} -> \x _ -> itUse . heldScroll . hsCharMode %~ cycleSignum x
HeldScrollInt{} -> undefined
cycleSignum :: Float -> Seq a -> Seq a
cycleSignum x
| x > 0 = cycleL
| otherwise = cycleR
cycleL,cycleR :: Seq a -> Seq a
cycleL, cycleR :: Seq a -> Seq a
cycleL (x :<| xs) = xs |> x
cycleL xs = xs
cycleR (xs :|> x) = x <| xs