This commit is contained in:
2024-09-30 12:54:31 +01:00
parent 65564c993b
commit fc5539cb38
58 changed files with 802 additions and 1255 deletions
+4 -10
View File
@@ -3,32 +3,26 @@ module Dodge.Combine (
combineList,
) where
--import Control.Lens
--import Control.Monad
import Data.Bifunctor
--import qualified Data.IntSet as IS
import Data.List (sortOn)
--import Data.Map.Merge.Strict
import qualified Data.Map.Strict as M
--import Data.Maybe
import Dodge.Base.You
import Dodge.Combine.Trie
import Dodge.Data.Combine
import Dodge.Data.Universe
import Dodge.Item.Display
import Dodge.Item.InventoryColor
import Dodge.Item.SlotsTaken
--import Dodge.Module
import qualified IntMapHelp as IM
import SimpleTrie
invertInventoryToMap :: IM.IntMap Item -> M.Map ItemBaseType [Int]
invertInventoryToMap :: IM.IntMap Item -> M.Map ItemType [Int]
invertInventoryToMap =
IM.foldrWithKey
(\k it -> M.insertWith (++) (_iyBase $ _itType it) [k])
(\k it -> M.insertWith (++) (_itType it) [k])
mempty
groupSplitItemAmounts :: M.Map ItemBaseType [Int] -> [((ItAmount, ItemBaseType), [Int])]
groupSplitItemAmounts :: M.Map ItemType [Int] -> [((ItAmount, ItemType), [Int])]
groupSplitItemAmounts = M.foldrWithKey f []
where
f ibt is = (++) [((fromIntegral i, ibt), take i is) | i <- [1 .. length is]]
@@ -47,7 +41,7 @@ combineList = map f . combineListInfo
f (is, (strs, itm)) =
SelectionItem
{ _siPictures = basicItemDisplay itm
, _siHeight = itSlotsTaken itm
, _siHeight = _itInvSize itm
, _siIsSelectable = True
, _siColor = itemInvColor itm
, _siOffX = 0