From 073013c778d70f4e1e1d53d4c756402f680488f9 Mon Sep 17 00:00:00 2001 From: Vishal Date: Sat, 28 Sep 2024 03:17:33 +0530 Subject: [PATCH] Adding checks to make sure stress-test doesn't run during game --- .../python/bauiv1lib/settings/benchmarks.py | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/benchmarks.py b/src/assets/ba_data/python/bauiv1lib/settings/benchmarks.py index 1f841057..9012f7ec 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/benchmarks.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/benchmarks.py @@ -8,7 +8,7 @@ import logging from typing import cast, override import bauiv1 as bui - +import bascenev1 as bs class BenchmarksAndStressTestsWindow(bui.MainWindow): """Window for launching benchmarks or stress tests.""" @@ -372,16 +372,22 @@ class BenchmarksAndStressTestsWindow(bui.MainWindow): bui.app.classic.run_media_reload_benchmark() def _stress_test_pressed(self) -> None: + from bascenev1lib.mainmenu import MainMenuActivity + if bui.app.classic is None: logging.warning('stress-test requires classic') return - bui.app.classic.run_stress_test( - playlist_type=self._stress_test_game_type, - playlist_name=cast( - str, bui.textwidget(query=self._stress_test_playlist_name_field) - ), - player_count=self._stress_test_player_count, - round_duration=self._stress_test_round_duration, - ) - bui.containerwidget(edit=self._root_widget, transition='out_right') + activity = bs.get_foreground_host_activity() + if isinstance(activity, MainMenuActivity): + bui.app.classic.run_stress_test( + playlist_type=self._stress_test_game_type, + playlist_name=cast( + str, bui.textwidget(query=self._stress_test_playlist_name_field) + ), + player_count=self._stress_test_player_count, + round_duration=self._stress_test_round_duration, + ) + bui.containerwidget(edit=self._root_widget, transition='out_right') + else: + bui.screenmessage(bui.Lstr(value='Already present in another activity.'))