Add in logic when botty is paused and not trigger max game length (#167)

This commit is contained in:
egut125
2021-12-02 19:04:45 +01:00
committed by GitHub
parent 6f0a000bf1
commit 80d2a14d5c
2 changed files with 26 additions and 3 deletions
+6 -1
View File
@@ -94,11 +94,16 @@ class Bot:
def toggle_pause(self):
self._pausing = not self._pausing
Logger.info(f"Pause at next state change...") if self._pausing else Logger.info(f"Resume")
if self._pausing:
Logger.info(f"Pause at next state change...")
else:
Logger.info(f"Resume")
self._game_stats.resume_timer()
def trigger_or_stop(self, name: str):
if self._pausing:
Logger.info(f"{self._config.general['name']} is now pausing")
self._game_stats.pause_timer()
while self._pausing:
time.sleep(0.2)
if not self._stopping:
+20 -2
View File
@@ -12,6 +12,8 @@ class GameStats:
self._picked_up_items = []
self._start_time = time.time()
self._timer = None
self._timepaused = None
self._paused = False
self._game_counter = 0
self._chicken_counter = 0
self._death_counter = 0
@@ -58,10 +60,26 @@ class GameStats:
def log_failed_run(self):
self._runs_failed += 1
def get_current_game_length(self):
def pause_timer(self):
if self._timer is None or self._paused:
return
self._timepaused = time.time()
self._paused = True
def resume_timer(self):
if self._timer is None or not self._paused:
return
pausetime = time.time() - self._timepaused
self._timer = self._timer + pausetime
self._paused = False
def get_current_game_length(self):
if self._timer is None:
return 0
return time.time() - self._timer
if self._paused:
return self._timepaused - self._timer
else:
return time.time() - self._timer
def _create_msg(self):
elapsed_time = time.time() - self._start_time