From d8d30e0192111e17f6c553d732203e798d91ef18 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 25 Nov 2024 22:54:45 +0000 Subject: [PATCH] Cleanup (somewhat) mouseClickOptionsList --- src/Dodge/Update/Input/ScreenLayer.hs | 31 +++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/Dodge/Update/Input/ScreenLayer.hs b/src/Dodge/Update/Input/ScreenLayer.hs index 9ef72d999..fa1ce6d51 100644 --- a/src/Dodge/Update/Input/ScreenLayer.hs +++ b/src/Dodge/Update/Input/ScreenLayer.hs @@ -3,8 +3,8 @@ module Dodge.Update.Input.ScreenLayer ( ldpVerticalSelection, ) where -import Data.Char import Control.Monad +import Data.Char import qualified Data.Map.Strict as M import Data.Maybe import Dodge.Data.ScreenPos @@ -58,17 +58,30 @@ optionScreenDefaultEffect u = fromMaybe u $ do mouseClickOptionsList :: Universe -> Universe mouseClickOptionsList u = fromMaybe u $ do sl <- u ^? uvScreenLayers . ix 0 . scSelectionList - Just $ case u ^. uvWorld . input . mouseButtons . at ButtonLeft of - Just 0 -> fromMaybe u $ do + case u ^. uvWorld . input . mouseButtons of + mbs | mbs ^. at ButtonLeft == Just 0 -> do i <- u ^? uvWorld . input . mouseContext . mcoMenuClick f <- sl ^? ix i . siPayload . _1 return $ f u - _ -> case u ^. uvWorld . input . mouseButtons . at ButtonRight of - Just 0 -> fromMaybe u $ do - i <- u ^? uvWorld . input . mouseContext . mcoMenuClick - f <- sl ^? ix i . siPayload . _2 - return $ f u - _ -> u + mbs | mbs ^. at ButtonRight == Just 0 -> do + i <- u ^? uvWorld . input . mouseContext . mcoMenuClick + f <- sl ^? ix i . siPayload . _2 + return $ f u + _ -> Nothing + +--mouseClickOptionsList u = fromMaybe u $ do +-- sl <- u ^? uvScreenLayers . ix 0 . scSelectionList +-- Just $ case u ^. uvWorld . input . mouseButtons . at ButtonLeft of +-- Just 0 -> fromMaybe u $ do +-- i <- u ^? uvWorld . input . mouseContext . mcoMenuClick +-- f <- sl ^? ix i . siPayload . _1 +-- return $ f u +-- _ -> case u ^. uvWorld . input . mouseButtons . at ButtonRight of +-- Just 0 -> fromMaybe u $ do +-- i <- u ^? uvWorld . input . mouseContext . mcoMenuClick +-- f <- sl ^? ix i . siPayload . _2 +-- return $ f u +-- _ -> u ldpVerticalSelection :: Configuration -> ListDisplayParams -> Point2 -> Maybe Int ldpVerticalSelection cfig ldp (V2 _ y)