Move hotkeys out of Creature into LWorld

This commit is contained in:
2024-12-19 15:29:20 +00:00
parent 4526119fcd
commit 910c683eac
11 changed files with 24 additions and 19 deletions
+4 -3
View File
@@ -19,8 +19,8 @@ import NewInt
import Padding
import Picture.Base
invSelectionItem :: Int -> Creature -> Int -> ComposedItem -> SelectionItem ()
invSelectionItem indent cr i ci =
invSelectionItem :: Int -> LWorld -> Int -> ComposedItem -> SelectionItem ()
invSelectionItem indent lw i ci =
SelectionItem
{ _siPictures = pics & ix 0 %~ (++ anyequippos ++ anyhotkey)
, _siHeight = itInvHeight $ ci ^. _1
@@ -31,7 +31,8 @@ invSelectionItem indent cr i ci =
, _siPayload = ()
}
where
anyhotkey = maybe [] ((' ' :) . hotkeyToString) (cr ^? crInvHotkeys . ix i)
cr = lw ^?! creatures . ix 0
anyhotkey = maybe [] ((' ' :) . hotkeyToString) (lw ^? imHotkeys . ix i)
anyequippos = maybe [] (rightPad 8 ' ' . (' ' :) . eqPosText)
(ci ^? _1 . itLocation . ilEquipPosition . _Just)
col = itemInvColor ci
+3 -2
View File
@@ -58,17 +58,18 @@ swapInvItems f i w = fromMaybe w $ do
-- . (crInvEquipped %~ IM.safeSwapKeys i k)
. swapSite i k
. swapSite k i
. (crInvHotkeys %~ IM.safeSwapKeys i k)
-- . (crInvHotkeys %~ IM.safeSwapKeys i k)
swaphotkeys k =
swapSite' i k
. swapSite' k i
. (cWorld . lWorld . imHotkeys %~ IM.safeSwapKeys i k)
cr = you w
--swapSite a b = case cr ^? crInvEquipped . ix a of
swapSite a b = case cr ^? crInv . ix a . itLocation . ilEquipPosition . _Just of
Just epos -> crEquipment . ix epos .~ b
Nothing -> id
--swapSite' a b = case cr ^? crInvHotkeys . ix a of
swapSite' a b = case w ^? cWorld . lWorld . creatures . ix 0 . crInvHotkeys . ix a of
swapSite' a b = case w ^? cWorld . lWorld . imHotkeys . ix a of
Just epos -> cWorld . lWorld . hotkeys . ix epos .~ b
Nothing -> id