pinosaur
/
ekitaihs.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
start on reading file
[ekitaihs.git]
/
Render.hs
diff --git
a/Render.hs
b/Render.hs
index
fc321f6
..
036944b
100644
(file)
--- a/
Render.hs
+++ b/
Render.hs
@@
-6,10
+6,14
@@
import Brick.Types
import Brick.Widgets.Core
import Graphics.Vty.Input.Events
import Brick.Widgets.Core
import Graphics.Vty.Input.Events
+import qualified Data.Vector as V
+import Sim
+
type ResourceName = String
type ResourceName = String
-data EkitaiState =
- EkitaiState deriving (Show)
+data EkitaiState = EkitaiState
+ { ekitaiStateSim :: Simulation
+ } deriving (Show)
ekitaiApp :: App EkitaiState e ResourceName
ekitaiApp = App
ekitaiApp :: App EkitaiState e ResourceName
ekitaiApp = App
@@
-20,11
+24,15
@@
ekitaiApp = App
, appAttrMap = const $ attrMap mempty []
}
, appAttrMap = const $ attrMap mempty []
}
-buildInitialState :: IO EkitaiState
-buildInitialState = pure EkitaiState
+buildInitialState :: Simulation -> IO EkitaiState
+buildInitialState sim =
+ pure EkitaiState
+ { ekitaiStateSim = sim
+ }
drawEkitai :: EkitaiState -> [Widget ResourceName]
drawEkitai :: EkitaiState -> [Widget ResourceName]
-drawEkitai state = []
+-- drawEkitai state = [ vBox $ drawSim $ ekitaiStateSim state ]
+drawEkitai state = [ vBox [str $ simToString $ ekitaiStateSim state] ]
handleEkitaiEvent :: EkitaiState -> BrickEvent n e -> EventM n (Next EkitaiState)
handleEkitaiEvent s e =
handleEkitaiEvent :: EkitaiState -> BrickEvent n e -> EventM n (Next EkitaiState)
handleEkitaiEvent s e =
@@
-32,6
+40,7
@@
handleEkitaiEvent s e =
VtyEvent vtye ->
case vtye of
EvKey (KChar 'q') [] -> halt s
VtyEvent vtye ->
case vtye of
EvKey (KChar 'q') [] -> halt s
+ EvKey (KChar 's') [] -> continue s { ekitaiStateSim = physStep $ ekitaiStateSim s }
_ -> continue s
_ -> continue s
_ -> continue s
_ -> continue s