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