diff options
author | Guillaume Pasquet <dev@etenil.net> | 2020-03-11 07:35:23 +0000 |
---|---|---|
committer | Guillaume Pasquet <dev@etenil.net> | 2020-03-11 07:35:23 +0000 |
commit | 0d545ea6e634ed990dd8f731a24a4e0838ffedbf (patch) | |
tree | 4444ce15a0cb55020a8d1de4e9088de172ca9e8e /TODO.md | |
parent | 0191b3a881027bcb6d6210e010841664dae4204b (diff) |
stuff
Diffstat (limited to 'TODO.md')
-rw-r--r-- | TODO.md | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -1,4 +1,23 @@ +# TODO
+
- Add unit tests
- Disassociate level to view, move view around if terminal too small
- Add equipment system
-- Remove rendering logic from State
\ No newline at end of file +- Remove rendering logic from State
+
+
+## Separate rendering logic
+
+```
+------- ---------
+| main| -----> | State |
+------- | ---------
+ |
+ | ------------
+ +-> | ViewPort |
+ ------------
+```
+
+- Main game logic mutates State in reaction to player input
+- Render is triggered by giving it a read-only reference to current state
+- Heavy use of traits in ViewPort allows multiple type of viewports (Piston etc.)
|