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 15105 additions and 13343 deletions
+28 -33
View File
@@ -1,17 +1,12 @@
module Dodge.Module
( moduleSizes
, moduleStrings
, moduleName
) where
import Dodge.Data
--import Dodge.Combine.Module
module Dodge.Module (
moduleSizes,
moduleStrings,
moduleName,
) where
import qualified Data.Map.Strict as M
--import Control.Lens
--import Data.Maybe
import Dodge.Data.Item
--moduleSizes :: Item -> Int
--moduleSizes = moduleFold (+) (^? modSize) 0
moduleSizes :: Item -> Int
moduleSizes = sum . fmap moduleSize . _iyModules . _itType
@@ -26,30 +21,30 @@ moduleStrings = M.elems . M.mapMaybe moduleName . _iyModules . _itType
moduleName :: ItemModuleType -> Maybe String
moduleName imt = case imt of
EMPTYMODULE -> Nothing
DRUMMAG -> Just "+DRUM MAG"
BELTMAG -> Just "+BELT FEED"
MAGNETMAG -> Just "+MAGNET FEED"
INCENDBUL -> Just "+INCENDIARY"
BOUNCEBUL -> Just "+BOUNCE"
PENBUL -> Just "+PENETRATE"
STATICBUL -> Just "+STATIC"
CONCUSBUL -> Just "+CONCUSS"
TARGCR -> Just "+CREATURETARGETING"
TARGLAS -> Just "+LASERTARGETING"
TARGPOS -> Just "+POSTIONALTARGETING"
MAGNETTRAJ -> Just "+MAGNETTRAJECTORY"
FLECHETRAJ -> Just "+FLECHETTETRAJECTORY"
BEZIERTRAJ -> Just "+BEZIERTRAJECTORY"
INCENDLAS -> Just "+INCENDIARY"
SPLITLAS -> Just "+SPLIT"
STATICLAS -> Just "+STATIC"
WEPTELE -> Just "+DIRECTEDTELE"
LAUNCHHOME -> Just "+TARGET HOMING"
DRUMMAG -> Just "+DRUM MAG"
BELTMAG -> Just "+BELT FEED"
MAGNETMAG -> Just "+MAGNET FEED"
INCENDBUL -> Just "+INCENDIARY"
BOUNCEBUL -> Just "+BOUNCE"
PENBUL -> Just "+PENETRATE"
STATICBUL -> Just "+STATIC"
CONCUSBUL -> Just "+CONCUSS"
TARGCR -> Just "+CREATURETARGETING"
TARGLAS -> Just "+LASERTARGETING"
TARGPOS -> Just "+POSTIONALTARGETING"
MAGNETTRAJ -> Just "+MAGNETTRAJECTORY"
FLECHETRAJ -> Just "+FLECHETTETRAJECTORY"
BEZIERTRAJ -> Just "+BEZIERTRAJECTORY"
INCENDLAS -> Just "+INCENDIARY"
SPLITLAS -> Just "+SPLIT"
STATICLAS -> Just "+STATIC"
WEPTELE -> Just "+DIRECTEDTELE"
LAUNCHHOME -> Just "+TARGET HOMING"
EXTRABATTERY -> Just "+BATTERY"
ATTACHTORCH -> Just "+TORCH"
ATTACHTORCH -> Just "+TORCH"
--moduleFold :: (m -> m -> m) -> (ItemModule -> Maybe m) -> m -> Item -> m
--moduleFold g f e = foldr (g . fromMaybe e . f) e
-- . fmap fromModuleType
--moduleFold g f e = foldr (g . fromMaybe e . f) e
-- . fmap fromModuleType
-- . _iyModules
-- . _itType