mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-29 02:23:22 +08:00
Fixing a bug where game gets stuck in profile new/edit window
This commit is contained in:
parent
22f0808048
commit
cffa1939ff
@ -594,10 +594,10 @@ class InGameMenuWindow(bui.MainWindow):
|
||||
classic.main_menu_resume_callbacks.clear()
|
||||
|
||||
def __del__(self) -> None:
|
||||
from bascenev1lib import tutorial
|
||||
from bascenev1lib.tutorial import TutorialActivity
|
||||
activity = bs.get_foreground_host_activity()
|
||||
|
||||
if isinstance(activity, (bs.GameActivity, tutorial.TutorialActivity)):
|
||||
if isinstance(activity, (bs.GameActivity, TutorialActivity)):
|
||||
classic = bui.app.classic
|
||||
|
||||
assert classic is not None
|
||||
|
||||
@ -7,9 +7,10 @@ from __future__ import annotations
|
||||
import random
|
||||
from typing import cast, override
|
||||
|
||||
from bauiv1lib.colorpicker import ColorPicker
|
||||
import bauiv1 as bui
|
||||
import bascenev1 as bs
|
||||
from bauiv1lib.colorpicker import ColorPicker
|
||||
from bauiv1lib.profile.browser import ProfileBrowserWindow
|
||||
|
||||
|
||||
class EditProfileWindow(bui.MainWindow):
|
||||
@ -80,11 +81,6 @@ class EditProfileWindow(bui.MainWindow):
|
||||
stack_offset=(
|
||||
(0, -40) if uiscale is bui.UIScale.SMALL else (0, 0)
|
||||
),
|
||||
toolbar_visibility=(
|
||||
'menu_minimal'
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 'menu_full'
|
||||
),
|
||||
),
|
||||
transition=transition,
|
||||
origin_widget=origin_widget,
|
||||
@ -690,24 +686,27 @@ class EditProfileWindow(bui.MainWindow):
|
||||
)
|
||||
|
||||
def _cancel(self) -> None:
|
||||
self.main_window_back()
|
||||
# from bauiv1lib.profile.browser import ProfileBrowserWindow
|
||||
|
||||
if self._in_main_menu:
|
||||
self.main_window_back()
|
||||
return
|
||||
|
||||
# # no-op if our underlying widget is dead or on its way out.
|
||||
# if not self._root_widget or self._root_widget.transitioning_out:
|
||||
# return
|
||||
# no-op if our underlying widget is dead or on its way out.
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
return
|
||||
|
||||
# bui.containerwidget(edit=self._root_widget, transition='out_right')
|
||||
# assert bui.app.classic is not None
|
||||
# bui.app.ui_v1.set_main_window(
|
||||
# ProfileBrowserWindow(
|
||||
# 'in_left',
|
||||
# selected_profile=self._existing_profile,
|
||||
# in_main_menu=self._in_main_menu,
|
||||
# ),
|
||||
# from_window=self,
|
||||
# is_back=True,
|
||||
# )
|
||||
bui.containerwidget(edit=self._root_widget, transition='out_right')
|
||||
assert bui.app.classic is not None
|
||||
|
||||
bui.app.ui_v1.set_main_window(
|
||||
ProfileBrowserWindow(
|
||||
'in_left',
|
||||
selected_profile=self._existing_profile,
|
||||
in_main_menu=self._in_main_menu,
|
||||
),
|
||||
from_window=self,
|
||||
is_back=True,
|
||||
)
|
||||
|
||||
def _set_color(self, color: tuple[float, float, float]) -> None:
|
||||
self._color = color
|
||||
@ -859,17 +858,19 @@ class EditProfileWindow(bui.MainWindow):
|
||||
|
||||
if transition_out:
|
||||
plus.run_v1_account_transactions()
|
||||
self.main_window_back()
|
||||
# bui.containerwidget(edit=self._root_widget,
|
||||
# transition='out_right')
|
||||
# assert bui.app.classic is not None
|
||||
# bui.app.ui_v1.set_main_window(
|
||||
# ProfileBrowserWindow(
|
||||
# 'in_left',
|
||||
# selected_profile=new_name,
|
||||
# in_main_menu=self._in_main_menu,
|
||||
# ),
|
||||
# from_window=self,
|
||||
# is_back=True,
|
||||
# )
|
||||
if self._in_main_menu:
|
||||
self.main_window_back()
|
||||
return
|
||||
bui.containerwidget(edit=self._root_widget,
|
||||
transition='out_right')
|
||||
assert bui.app.classic is not None
|
||||
bui.app.ui_v1.set_main_window(
|
||||
ProfileBrowserWindow(
|
||||
'in_left',
|
||||
selected_profile=new_name,
|
||||
in_main_menu=self._in_main_menu,
|
||||
),
|
||||
from_window=self,
|
||||
is_back=True,
|
||||
)
|
||||
return True
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user