implemented player confirmation/addition
This commit is contained in:
@@ -57,6 +57,7 @@ dispatch s = case s^.progMode of
|
||||
| null $ cps^.cpsNumber -> getPlayerNumC
|
||||
| null $ cps^.cpsName -> getPlayerNameC
|
||||
| null $ cps^.cpsPosition -> getPlayerPosC
|
||||
| not $ cps^.cpsConfirmed -> confirmCreatePlayerC
|
||||
| otherwise -> undefined
|
||||
|
||||
mainMenuC :: Controller
|
||||
@@ -223,3 +224,22 @@ getPlayerPosC = Controller
|
||||
promptHandler playerPosPrompt e
|
||||
return True
|
||||
}
|
||||
|
||||
confirmCreatePlayerC :: Controller
|
||||
confirmCreatePlayerC = Controller
|
||||
{ drawController = \s -> do
|
||||
let cps = s^.progMode.createPlayerStateL
|
||||
C.drawString $ " Player number: " ++ show (fromJust $ cps^.cpsNumber) ++ "\n"
|
||||
C.drawString $ " Player name: " ++ cps^.cpsName ++ "\n"
|
||||
C.drawString $ "Player position: " ++ cps^.cpsPosition ++ "\n\n"
|
||||
C.drawString "Create player: are you sure? (Y/N)"
|
||||
return C.CursorInvisible
|
||||
, handleController = \e -> do
|
||||
case ynHandler e of
|
||||
Just True -> do
|
||||
modify addPlayer
|
||||
modify $ progMode .~ MainMenu
|
||||
Just False -> modify $ progMode .~ MainMenu
|
||||
Nothing -> return ()
|
||||
return True
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user