Broken: refactor terminals
This commit is contained in:
+3
-14
@@ -14,6 +14,7 @@ the simulation step; in particular see 'updatePressedButtons'.
|
||||
module Dodge.Event
|
||||
( handleEvent
|
||||
) where
|
||||
import Dodge.Terminal
|
||||
import Dodge.Tweak
|
||||
import Dodge.HeldScroll
|
||||
import Dodge.InputFocus
|
||||
@@ -142,7 +143,7 @@ getArguments' :: TerminalCommand -> Terminal -> World -> [String]
|
||||
getArguments' tc tm = ("" :) . getArguments tc tm
|
||||
|
||||
getArguments :: TerminalCommand -> Terminal -> World -> [String]
|
||||
getArguments tc tm w = case _tcEffect tc tm w of
|
||||
getArguments tc tm w = case doTerminalCommandEffect (_tcEffect tc) tm w of
|
||||
NoArguments {} -> []
|
||||
OneArgument _ m -> M.keys m
|
||||
|
||||
@@ -153,7 +154,7 @@ nullCommand = TerminalCommand
|
||||
{ _tcString = ""
|
||||
, _tcAlias = []
|
||||
, _tcHelp = ""
|
||||
, _tcEffect = \_ _ -> NoArguments []
|
||||
, _tcEffect = TerminalCommandEffectNone -- \_ _ -> NoArguments []
|
||||
}
|
||||
|
||||
scrollRBOption :: Float -> World -> World
|
||||
@@ -162,18 +163,6 @@ scrollRBOption y w
|
||||
| y > 0 = w & rbOptions . opSel %~ (max 0 . subtract 1)
|
||||
| otherwise = w
|
||||
|
||||
-- nice idea, but the chain of setters and getters seems prohibitive
|
||||
--scrollOver :: Foldable t
|
||||
-- => ASetter s s Int Int -- index setter
|
||||
-- -> Getting (First (t a)) s (t a) -- pointer to object of size
|
||||
-- -> Float -- direction
|
||||
-- -> s -> s
|
||||
--scrollOver theset theget y w = case w ^? theget of
|
||||
-- Just t -> w & theset %~ ( (`mod` length t) . (subtract y'))
|
||||
-- Nothing -> w
|
||||
-- where
|
||||
-- y' = round $ signum y
|
||||
|
||||
moveTweakSel :: Int -> World -> World
|
||||
moveTweakSel i w = case yourItem w ^? _Just . itTweaks . tweakParams of
|
||||
Just l -> w & creatures . ix (_yourID w) . crInv . ix (crSel (you w))
|
||||
|
||||
Reference in New Issue
Block a user