Refactor triplet to Selection datatype
This commit is contained in:
@@ -17,7 +17,6 @@ module Dodge.Inventory (
|
||||
) where
|
||||
|
||||
import Data.Function
|
||||
import qualified Data.IntSet as IS
|
||||
import Data.Maybe
|
||||
import Dodge.Base
|
||||
import Dodge.Data.SelectionList
|
||||
@@ -87,7 +86,7 @@ rmInvItem cid invid w =
|
||||
where
|
||||
pointcid = cWorld . lWorld . creatures . ix cid
|
||||
updateselectionextra
|
||||
| cid == 0 = hud . diSelection . _Just . _3 %~ const mempty
|
||||
| cid == 0 = hud . diSelection . _Just . slSet %~ const mempty
|
||||
| otherwise = id
|
||||
updateselection
|
||||
| cid == 0 && cr ^? crManipulation . manObject . imSelectedItem == Just invid =
|
||||
@@ -166,7 +165,7 @@ changeSwapOther manlens n f i w = fromMaybe w $ do
|
||||
& cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . manlens
|
||||
%~ doswap
|
||||
& hud . closeItems %~ swapIndices i k
|
||||
& hud . diSelection . _Just . _2 %~ doswap
|
||||
& hud . diSelection . _Just . slInt %~ doswap
|
||||
& worldEventFlags . at InventoryChange ?~ ()
|
||||
|
||||
swapItemWith ::
|
||||
@@ -182,7 +181,7 @@ swapItemWith f (j, i) = case j of
|
||||
|
||||
changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World
|
||||
changeSwapWith f w
|
||||
| Just (j,i,_) <- w ^. hud . diSelection = swapItemWith f (j,i) w
|
||||
| Just (Sel j i _) <- w ^. hud . diSelection = swapItemWith f (j,i) w
|
||||
| otherwise = w
|
||||
|
||||
--changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World
|
||||
@@ -192,7 +191,7 @@ changeSwapWith f w
|
||||
-- Just (5, i, _) -> w & changeSwapOther ispCloseButton 5 f i
|
||||
-- _ -> w
|
||||
|
||||
invSetSelection :: (Int, Int, IS.IntSet) -> World -> World
|
||||
invSetSelection :: Selection -> World -> World
|
||||
invSetSelection sel w =
|
||||
w
|
||||
& hud . diSelection ?~ sel
|
||||
@@ -208,8 +207,8 @@ invSetSelectionPos i j w =
|
||||
& setInvPosFromSS
|
||||
& cWorld . lWorld %~ crUpdateItemLocations 0
|
||||
where
|
||||
f Nothing = Just (i, j, mempty)
|
||||
f (Just (_, _, s)) = Just (i, j, s)
|
||||
f Nothing = Just (Sel i j mempty)
|
||||
f (Just (Sel _ _ s)) = Just (Sel i j s)
|
||||
|
||||
scrollAugInvSel :: Int -> World -> World
|
||||
scrollAugInvSel yi w
|
||||
|
||||
Reference in New Issue
Block a user