mirror of
https://github.com/rr-/pq-cli.git
synced 2026-09-29 06:44:00 -06:00
ui: more precise increments
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import datetime
|
||||||
import typing as T
|
import typing as T
|
||||||
|
|
||||||
import urwid
|
import urwid
|
||||||
@@ -82,6 +83,7 @@ class GameView(urwid.Pile):
|
|||||||
self.loop = loop
|
self.loop = loop
|
||||||
self.player = player
|
self.player = player
|
||||||
self.simulation = Simulation(player)
|
self.simulation = Simulation(player)
|
||||||
|
self.last_tick = datetime.datetime.now()
|
||||||
|
|
||||||
self.character_sheet_view = CharacterSheetView(player)
|
self.character_sheet_view = CharacterSheetView(player)
|
||||||
self.task_view = TaskView(player)
|
self.task_view = TaskView(player)
|
||||||
@@ -103,9 +105,11 @@ class GameView(urwid.Pile):
|
|||||||
self._emit("cancel")
|
self._emit("cancel")
|
||||||
|
|
||||||
def tick(self) -> None:
|
def tick(self) -> None:
|
||||||
elapsed = 100 # TODO
|
now = datetime.datetime.now()
|
||||||
self.simulation.tick(elapsed)
|
elapsed = (now - self.last_tick).total_seconds()
|
||||||
|
self.simulation.tick(elapsed * 1000)
|
||||||
self.loop.set_alarm_in(0.1, lambda _loop, _user_data: self.tick())
|
self.loop.set_alarm_in(0.1, lambda _loop, _user_data: self.tick())
|
||||||
|
self.last_tick = datetime.datetime.now()
|
||||||
|
|
||||||
def unhandled_input(self, key: str) -> bool:
|
def unhandled_input(self, key: str) -> bool:
|
||||||
if key == "esc":
|
if key == "esc":
|
||||||
|
|||||||
Reference in New Issue
Block a user