Move towards inputs in terminal
This commit is contained in:
+8
-2
@@ -57,6 +57,7 @@ import qualified Data.Set as S
|
||||
import qualified Data.IntSet as IS
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.Map.Strict as M
|
||||
import qualified Data.Text as T
|
||||
import SDL (Scancode, MouseButton)
|
||||
type CRUpdate = Creature -> World -> (World -> World, Maybe Creature)
|
||||
type CRUpdate' = Creature -> World -> (World -> World, Creature)
|
||||
@@ -225,7 +226,7 @@ data ScreenLayer
|
||||
, _scColumns :: [(String,String)]
|
||||
}
|
||||
| InputScreen
|
||||
{ _scInput :: String
|
||||
{ _scInput :: T.Text
|
||||
, _scFooter :: String
|
||||
}
|
||||
| WaitScreen
|
||||
@@ -378,7 +379,7 @@ data Button = Button
|
||||
, _btID :: Int
|
||||
, _btText :: String
|
||||
, _btState :: ButtonState
|
||||
, _btTerminalParams :: TerminalParams
|
||||
, _btTerminalParams :: World -> TerminalParams
|
||||
}
|
||||
data TerminalParams = NoTerminalParams | TerminalParams
|
||||
{ _termDisplayedLines :: [World -> (String,Color)]
|
||||
@@ -387,6 +388,7 @@ data TerminalParams = NoTerminalParams | TerminalParams
|
||||
, _termTitle :: String
|
||||
, _termSel :: Maybe Int
|
||||
, _termOptions :: [(String, World -> World)]
|
||||
, _termInput :: Maybe (String, String -> World -> World)
|
||||
}
|
||||
data TerminalLine
|
||||
= TerminalLineDisplay
|
||||
@@ -397,6 +399,10 @@ data TerminalLine
|
||||
{_tlPause :: Int
|
||||
,_tlOptions :: [(String,World -> World)]
|
||||
}
|
||||
| TerminalLineInput
|
||||
{_tlPause :: Int
|
||||
,_tlInputFunction :: String -> World -> World
|
||||
}
|
||||
| TerminalLineEffect
|
||||
{_tlPause :: Int
|
||||
,_tlEffect :: SubInventory -> World -> World
|
||||
|
||||
Reference in New Issue
Block a user