mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-19 13:25:31 +08:00
tidying and bug fixes
This commit is contained in:
parent
ae0cf4f9c4
commit
591b90a5fe
88
.efrocachemap
generated
88
.efrocachemap
generated
@ -4038,50 +4038,50 @@
|
||||
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
|
||||
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
|
||||
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "a02c0c36c3f6675bb6855bc009176cf6",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "064b003f05853087280802eb7da577c2",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "f3f576881a72a96c826fb91aef38bbba",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "2cb3a255494ed8575577c95445dee26c",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "869b386a10c8f3d566ec40218958381e",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "d70f116e1ca60f6c44d783ef66e1c345",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "1433260031956dbd74de55bc074ed276",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "cc956f6ae9866f6d43a6852a8031be5b",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "cedf3be30b1012e5deb2c3c61ba2a79c",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "ab87e28b76c5f6ee7f02af49ff5b207d",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "e3513bdf018e9f13e19716d2d8f39dec",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "2fd7e3ab633aa1a565de3981140f747d",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "9cf5e9821656166dd6e1c6790309bf9e",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "d5c1a8797d47c103be00358f0a78436d",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "f25132a18087448dcf14fb90cc952bb6",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "acba42eeb6a128524017dab75bae2263",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "4091cee5bc141b8a6db283d8e69c11eb",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "9b4af2d42877b890d36d8e4cd5142af9",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "8902a19b82bef589cd9dc7b294a04b7e",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "5239aca25076e3492666ade56ba61fca",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "a06bb7921cd8f951aae499154603145c",
|
||||
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "98c206cc02eb43b219c15a782f816e00",
|
||||
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "a06bb7921cd8f951aae499154603145c",
|
||||
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "98c206cc02eb43b219c15a782f816e00",
|
||||
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "72c5a907a8ba413ca9844d95837a5485",
|
||||
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "c9f768f18c948d36fe5c76e545549076",
|
||||
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "72c5a907a8ba413ca9844d95837a5485",
|
||||
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "c9f768f18c948d36fe5c76e545549076",
|
||||
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "2054806fac24a166edd01d2705f3531d",
|
||||
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "bccc5000405615475847ebefcbc168fc",
|
||||
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "2054806fac24a166edd01d2705f3531d",
|
||||
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "bccc5000405615475847ebefcbc168fc",
|
||||
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "c8b8c161254214e912b2f80b514447e9",
|
||||
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "7e7909e96fc13469c5e7f29b1eb56898",
|
||||
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "8039d71c9e8d9e9359aef23f4bbf99da",
|
||||
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "7e7909e96fc13469c5e7f29b1eb56898",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "6abd2da165375cd1ad163aee11d177ff",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "7cd96c8d0dba6d0ddf86f86238ee30f0",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "2d04ca0901dc47d50c64b0ea1bbb1b5b",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "7ab7cb07acd3527a9c95f3cca340488b",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "13ba788f64a3ab7787396590d539e4c3",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "2cd2cb6a2fb009df90b7540426fde687",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "b95111371bc3485e0c95eadaa7424dd1",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "809bf7b07895aa406f4564130ae22e09",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "3949ea7a39d6a2114b7500c7fcceb611",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "076c22066265be0845e611de999e0a68",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "984cf6a7071965f8053639a17e2f044b",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "466e173c53b5f08f98a4724b1de999bf",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "3d3126250a23f5fdc716153c556c6ae9",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7d569a3c3c2923378e9a02f5e49de1b2",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "3d68d2d2837f084eee6b5c702e02ed41",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "9143d5b8335331d1c107af108ff914c4",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "ef430017676ce525d55fad0137ad51f3",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "b50de91cf73bb407f156a698c45e9e9a",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "039ab05ea21d61756187d632a52fbb8a",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "f0c2a4eea704f53d81e4a394c39a8936",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "4f4f8c765f3596f83f3caa39e569cf5d",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "1994972677f54b6ed681226690939d23",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "fec0105ec74a1886b9e6f58f78c9e576",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "95bc18eb743104c2c9bd6c42b393d056",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "0738788a6cb012a7285826be6d5bf340",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "f4a680b748da46e82839632e9ce05b1c",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "9548ee31d4fb2dc38971d293dc39b749",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "275a760bcdc13100865c0a9ae3ca9645",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "9162b53189b80d4e5938cd142acd2a1a",
|
||||
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "2226d0e2d34051d962320c86464f3a2d",
|
||||
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "9162b53189b80d4e5938cd142acd2a1a",
|
||||
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "2226d0e2d34051d962320c86464f3a2d",
|
||||
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "c2d287b53bdac7e5302fe833ac052d2c",
|
||||
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "b3942d4e7c940d86fc039ae149756d3f",
|
||||
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "c2d287b53bdac7e5302fe833ac052d2c",
|
||||
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "b3942d4e7c940d86fc039ae149756d3f",
|
||||
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "ae7eef1a68deb6d6bb54679664c5f9f1",
|
||||
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "7d92c616a8fcc0f9f5e7cf404379900e",
|
||||
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "ae7eef1a68deb6d6bb54679664c5f9f1",
|
||||
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "7d92c616a8fcc0f9f5e7cf404379900e",
|
||||
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "848cfd50cf15726e3acefd60204a85c5",
|
||||
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "299b6c4b83966040618b27563b700c2a",
|
||||
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "08c2f91d086e6f3fa73ebc299112358a",
|
||||
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "299b6c4b83966040618b27563b700c2a",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "852405655276879ba8cb1724da6bba22",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "9eb785085a8758436934f2ca2db587e3",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "ddf74dba629d08b230f3c5a89b633533",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "8f0ac7816eaecb70f5d74f9cc579c07b",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "da86846065ea86d5892dc4da24a39113",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "dd3e02e7393bff0b4a3a99fba85eef6d",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "9a4d5fb0c2d44f49eed823f441a75dd2",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "44dd5d6776ba0c21b4f323d99644ce3e",
|
||||
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
|
||||
"src/assets/ba_data/python/babase/_mgen/enums.py": "5548f407d97e380069f6c596c4e36cd7",
|
||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "efa61468cf098f77cc6a234461d8b86d",
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
### 1.7.35 (build 21863, api 8, 2024-05-12)
|
||||
### 1.7.35 (build 21876, api 8, 2024-05-15)
|
||||
- Fixed an issue where the engine would block at exit on some version of Linux
|
||||
until Ctrl-D was pressed in the calling terminal.
|
||||
- V2 accounts have been around for a while now, so the old V1 device login
|
||||
|
||||
@ -6,7 +6,7 @@ mypy==1.10.0
|
||||
pbxproj==4.1.0
|
||||
pdoc==14.4.0
|
||||
pur==7.3.1
|
||||
pylint==3.1.0
|
||||
pylint==3.2.0
|
||||
pylsp-mypy==0.6.8
|
||||
pytest==8.2.0
|
||||
python-daemon==3.0.1
|
||||
|
||||
@ -369,6 +369,7 @@
|
||||
"ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/config.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/confirm.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/connectivity.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/continues.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-312.opt-1.pyc",
|
||||
"ba_data/python/bauiv1lib/__pycache__/debug.cpython-312.opt-1.pyc",
|
||||
@ -420,6 +421,7 @@
|
||||
"ba_data/python/bauiv1lib/colorpicker.py",
|
||||
"ba_data/python/bauiv1lib/config.py",
|
||||
"ba_data/python/bauiv1lib/confirm.py",
|
||||
"ba_data/python/bauiv1lib/connectivity.py",
|
||||
"ba_data/python/bauiv1lib/continues.py",
|
||||
"ba_data/python/bauiv1lib/coop/__init__.py",
|
||||
"ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-312.opt-1.pyc",
|
||||
|
||||
@ -343,6 +343,7 @@ SCRIPT_TARGETS_PY_PUBLIC = \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/colorpicker.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/config.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/confirm.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/connectivity.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/continues.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__init__.py \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/coop/browser.py \
|
||||
@ -619,6 +620,7 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/config.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/confirm.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/connectivity.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/continues.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-312.opt-1.pyc \
|
||||
$(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/browser.cpython-312.opt-1.pyc \
|
||||
|
||||
@ -52,7 +52,7 @@ if TYPE_CHECKING:
|
||||
|
||||
# Build number and version of the ballistica binary we expect to be
|
||||
# using.
|
||||
TARGET_BALLISTICA_BUILD = 21863
|
||||
TARGET_BALLISTICA_BUILD = 21876
|
||||
TARGET_BALLISTICA_VERSION = '1.7.35'
|
||||
|
||||
|
||||
|
||||
@ -208,9 +208,6 @@ class AccountSettingsWindow(bui.Window):
|
||||
self._refresh_tickets_text()
|
||||
self._refresh_account_name_text()
|
||||
|
||||
# def _get_sign_in_text(self) -> bui.Lstr:
|
||||
# return bui.Lstr(resource=self._r + '.signInText')
|
||||
|
||||
def _refresh(self) -> None:
|
||||
# pylint: disable=too-many-statements
|
||||
# pylint: disable=too-many-branches
|
||||
@ -711,15 +708,9 @@ class AccountSettingsWindow(bui.Window):
|
||||
if show_game_center_sign_in_button
|
||||
or show_google_play_sign_in_button
|
||||
or show_device_sign_in_button
|
||||
# else bui.Lstr(resource=self._r + '.signInWithV2Text')
|
||||
else bui.Lstr(resource=self._r + '.signInText')
|
||||
)
|
||||
v2infotext: bui.Lstr | str | None = None
|
||||
# (
|
||||
# None
|
||||
# if show_game_center_sign_in_button
|
||||
# else bui.Lstr(resource=self._r + '.signInWithV2InfoText')
|
||||
# )
|
||||
|
||||
bui.textwidget(
|
||||
parent=self._subcontainer,
|
||||
@ -1592,6 +1583,14 @@ class AccountSettingsWindow(bui.Window):
|
||||
bui.apptimer(0.1, bui.WeakCall(self._update))
|
||||
|
||||
def _sign_in_press(self, login_type: str | LoginType) -> None:
|
||||
from bauiv1lib.connectivity import wait_for_connectivity
|
||||
|
||||
# If we're still waiting for our master-server connection,
|
||||
# keep the user informed of this instead of rushing in and
|
||||
# failing immediately.
|
||||
wait_for_connectivity(on_connected=lambda: self._sign_in(login_type))
|
||||
|
||||
def _sign_in(self, login_type: str | LoginType) -> None:
|
||||
plus = bui.app.plus
|
||||
assert plus is not None
|
||||
|
||||
@ -1679,6 +1678,15 @@ class AccountSettingsWindow(bui.Window):
|
||||
bui.apptimer(0.1, bui.WeakCall(self._update))
|
||||
|
||||
def _v2_proxy_sign_in_press(self) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
from bauiv1lib.connectivity import wait_for_connectivity
|
||||
|
||||
# If we're still waiting for our master-server connection,
|
||||
# keep the user informed of this instead of rushing in and
|
||||
# failing immediately.
|
||||
wait_for_connectivity(on_connected=self._v2_proxy_sign_in)
|
||||
|
||||
def _v2_proxy_sign_in(self) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
from bauiv1lib.account.v2proxy import V2ProxySignInWindow
|
||||
|
||||
|
||||
132
src/assets/ba_data/python/bauiv1lib/connectivity.py
Normal file
132
src/assets/ba_data/python/bauiv1lib/connectivity.py
Normal file
@ -0,0 +1,132 @@
|
||||
# Released under the MIT License. See LICENSE for details.
|
||||
#
|
||||
"""UI functionality related to master-server connectivity."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import bauiv1 as bui
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Callable, Any
|
||||
|
||||
|
||||
def wait_for_connectivity(
|
||||
on_connected: Callable[[], Any],
|
||||
on_cancel: Callable[[], Any] | None = None,
|
||||
) -> None:
|
||||
"""Wait for the engine to establish a master-server connection.
|
||||
|
||||
If need be, shows a window to keep the user informed of connectivity
|
||||
state and allows the user to cancel the operation. Note that canceling
|
||||
does not prevent the engine from continuing its attempt to establish
|
||||
connectivity; it simply cancels the operation that depends on it.
|
||||
"""
|
||||
plus = bui.app.plus
|
||||
assert plus is not None
|
||||
|
||||
# Quick-out: if we're already connected, don't bother with the UI.
|
||||
if plus.cloud.connected:
|
||||
on_connected()
|
||||
return
|
||||
|
||||
WaitForConnectivityWindow(on_connected=on_connected, on_cancel=on_cancel)
|
||||
|
||||
|
||||
class WaitForConnectivityWindow(bui.Window):
|
||||
"""Window informing the user that the game is establishing connectivity."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
on_connected: Callable[[], Any],
|
||||
on_cancel: Callable[[], Any] | None,
|
||||
) -> None:
|
||||
self._on_connected = on_connected
|
||||
self._on_cancel = on_cancel
|
||||
self._width = 650
|
||||
self._height = 300
|
||||
self._infos: list[str | bui.Lstr] = [
|
||||
'This can take a few moments, especially on first launch.',
|
||||
'Make sure your internet connection is working.',
|
||||
]
|
||||
self._last_info_switch_time = time.monotonic()
|
||||
self._info_index = 0
|
||||
super().__init__(
|
||||
root_widget=bui.containerwidget(
|
||||
size=(self._width, self._height),
|
||||
transition='in_scale',
|
||||
parent=bui.get_special_widget('overlay_stack'),
|
||||
)
|
||||
)
|
||||
bui.textwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width * 0.5, self._height * 0.65),
|
||||
size=(0, 0),
|
||||
scale=1.2,
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
text='Locating nearest regional servers...',
|
||||
maxwidth=self._width * 0.9,
|
||||
)
|
||||
self._info_text = bui.textwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width * 0.5, self._height * 0.45),
|
||||
size=(0, 0),
|
||||
color=(0.7, 0.6, 0.7),
|
||||
flatness=1.0,
|
||||
scale=0.8,
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
text=self._infos[0],
|
||||
maxwidth=self._width * 0.9,
|
||||
)
|
||||
cancel_button = bui.buttonwidget(
|
||||
parent=self._root_widget,
|
||||
autoselect=True,
|
||||
position=(50, 30),
|
||||
size=(150, 50),
|
||||
label=bui.Lstr(resource='cancelText'),
|
||||
on_activate_call=self._cancel,
|
||||
)
|
||||
bui.containerwidget(edit=self._root_widget, cancel_button=cancel_button)
|
||||
self._update_timer = bui.AppTimer(
|
||||
0.113, bui.WeakCall(self._update), repeat=True
|
||||
)
|
||||
|
||||
def _update(self) -> None:
|
||||
now = time.monotonic()
|
||||
|
||||
plus = bui.app.plus
|
||||
assert plus is not None
|
||||
|
||||
if plus.cloud.connected:
|
||||
self._connected()
|
||||
return
|
||||
|
||||
if now - self._last_info_switch_time > 5.0:
|
||||
self._info_index = (self._info_index + 1) % len(self._infos)
|
||||
bui.textwidget(
|
||||
edit=self._info_text, text=self._infos[self._info_index]
|
||||
)
|
||||
self._last_info_switch_time = now
|
||||
|
||||
def _connected(self) -> None:
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
return
|
||||
bui.containerwidget(
|
||||
edit=self._root_widget,
|
||||
transition=('out_scale'),
|
||||
)
|
||||
bui.pushcall(self._on_connected)
|
||||
|
||||
def _cancel(self) -> None:
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
return
|
||||
bui.containerwidget(
|
||||
edit=self._root_widget,
|
||||
transition=('out_scale'),
|
||||
)
|
||||
if self._on_cancel is not None:
|
||||
bui.pushcall(self._on_cancel)
|
||||
@ -62,16 +62,9 @@ def ask_for_rating() -> bui.Widget | None:
|
||||
)
|
||||
|
||||
def do_rating() -> None:
|
||||
if platform == 'android':
|
||||
appname = bui.appname()
|
||||
if subplatform == 'google':
|
||||
url = f'market://details?id=net.froemling.{appname}'
|
||||
else:
|
||||
url = f'market://details?id=net.froemling.{appname}cb'
|
||||
else:
|
||||
url = 'macappstore://itunes.apple.com/app/id416482767?ls=1&mt=12'
|
||||
|
||||
bui.open_url(url)
|
||||
# This is not currently in use anywhere.
|
||||
bui.screenmessage(bui.Lstr(resource='error'))
|
||||
# bui.open_url(url)
|
||||
bui.containerwidget(edit=dlg, transition='out_left')
|
||||
|
||||
bui.buttonwidget(
|
||||
|
||||
@ -387,7 +387,7 @@ class GetCurrencyWindow(bui.Window):
|
||||
else:
|
||||
v -= 20
|
||||
|
||||
if True: # pylint: disable=using-constant-test
|
||||
if bool(True):
|
||||
h_offs = 35
|
||||
b_size_3 = (150, 120)
|
||||
cdb = _add_button(
|
||||
@ -433,6 +433,8 @@ class GetCurrencyWindow(bui.Window):
|
||||
scale=1.0,
|
||||
)
|
||||
tc_y_offs = 0
|
||||
else:
|
||||
tc_y_offs = 0
|
||||
|
||||
h = self._width - (185 + x_inset)
|
||||
v = self._height - 95 + tc_y_offs
|
||||
|
||||
@ -341,7 +341,7 @@ class PluginWindow(bui.Window):
|
||||
assert_never(self._category)
|
||||
# show = False
|
||||
|
||||
if not show:
|
||||
if not show: # pylint: disable=possibly-used-before-assignment
|
||||
continue
|
||||
|
||||
item_y = sub_height - (num_shown + 1) * plug_line_height
|
||||
|
||||
@ -389,7 +389,7 @@ class SoundtrackBrowserWindow(bui.Window):
|
||||
|
||||
def _back(self) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
from bauiv1lib.settings import audio
|
||||
from bauiv1lib.settings.audio import AudioSettingsWindow
|
||||
|
||||
# no-op if our underlying widget is dead or on its way out.
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
@ -401,7 +401,7 @@ class SoundtrackBrowserWindow(bui.Window):
|
||||
)
|
||||
assert bui.app.classic is not None
|
||||
bui.app.ui_v1.set_main_menu_window(
|
||||
audio.AudioSettingsWindow(transition='in_left').get_root_widget(),
|
||||
AudioSettingsWindow(transition='in_left').get_root_widget(),
|
||||
from_window=self._root_widget,
|
||||
)
|
||||
|
||||
@ -549,7 +549,10 @@ class SoundtrackBrowserWindow(bui.Window):
|
||||
return
|
||||
self._save_state()
|
||||
bui.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
SoundtrackEditWindow(existing_soundtrack=None)
|
||||
bui.app.ui_v1.set_main_menu_window(
|
||||
SoundtrackEditWindow(existing_soundtrack=None).get_root_widget(),
|
||||
from_window=self._root_widget,
|
||||
)
|
||||
|
||||
def _create_done(self, new_soundtrack: str) -> None:
|
||||
if new_soundtrack is not None:
|
||||
|
||||
@ -423,7 +423,7 @@ class SoundtrackEditWindow(bui.Window):
|
||||
return None
|
||||
|
||||
def _cancel(self) -> None:
|
||||
from bauiv1lib.soundtrack import browser as stb
|
||||
from bauiv1lib.soundtrack.browser import SoundtrackBrowserWindow
|
||||
|
||||
# no-op if our underlying widget is dead or on its way out.
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
@ -436,12 +436,12 @@ class SoundtrackEditWindow(bui.Window):
|
||||
music.set_music_play_mode(bui.app.classic.MusicPlayMode.REGULAR)
|
||||
bui.containerwidget(edit=self._root_widget, transition='out_right')
|
||||
bui.app.ui_v1.set_main_menu_window(
|
||||
stb.SoundtrackBrowserWindow(transition='in_left').get_root_widget(),
|
||||
SoundtrackBrowserWindow(transition='in_left').get_root_widget(),
|
||||
from_window=self._root_widget,
|
||||
)
|
||||
|
||||
def _do_it(self) -> None:
|
||||
from bauiv1lib.soundtrack import browser as stb
|
||||
from bauiv1lib.soundtrack.browser import SoundtrackBrowserWindow
|
||||
|
||||
# no-op if our underlying widget is dead or on its way out.
|
||||
if not self._root_widget or self._root_widget.transitioning_out:
|
||||
@ -495,7 +495,7 @@ class SoundtrackEditWindow(bui.Window):
|
||||
)
|
||||
|
||||
bui.app.ui_v1.set_main_menu_window(
|
||||
stb.SoundtrackBrowserWindow(transition='in_left').get_root_widget(),
|
||||
SoundtrackBrowserWindow(transition='in_left').get_root_widget(),
|
||||
from_window=self._root_widget,
|
||||
)
|
||||
|
||||
|
||||
@ -85,7 +85,7 @@ void BasePlatformApple::DoOverlayWebBrowserOpenURL(const std::string& url) {
|
||||
BallisticaKit::CocoaFromCpp::openURLInOverlayWebBrowser(url);
|
||||
#else
|
||||
// TODO(ericf): Implement for uikit.
|
||||
BasePlatform::DoOpenURLInOverlayBrowser(url);
|
||||
BasePlatform::DoOverlayWebBrowserOpenURL(url);
|
||||
#endif // BA_OSTYPE_MACOS
|
||||
|
||||
#else
|
||||
|
||||
@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
|
||||
namespace ballistica {
|
||||
|
||||
// These are set automatically via script; don't modify them here.
|
||||
const int kEngineBuildNumber = 21863;
|
||||
const int kEngineBuildNumber = 21876;
|
||||
const char* kEngineVersion = "1.7.35";
|
||||
const int kEngineApiVersion = 8;
|
||||
|
||||
|
||||
@ -635,6 +635,8 @@ def prefab_binary_path() -> None:
|
||||
|
||||
platform = PrefabPlatform.get_current()
|
||||
|
||||
binpath = None
|
||||
|
||||
if platform is PrefabPlatform.WINDOWS_X86:
|
||||
if buildtype == 'gui':
|
||||
binpath = 'BallisticaKit.exe'
|
||||
@ -658,6 +660,7 @@ def prefab_binary_path() -> None:
|
||||
# Make sure we're covering all options.
|
||||
assert_never(platform)
|
||||
|
||||
assert binpath is not None
|
||||
print(
|
||||
f'build/prefab/full/{platform.value}_{buildtype}/{buildmode}/{binpath}',
|
||||
end='',
|
||||
|
||||
@ -407,6 +407,7 @@ class LogHandler(logging.Handler):
|
||||
)
|
||||
|
||||
if __debug__:
|
||||
# pylint: disable=used-before-assignment
|
||||
# Make noise if we're taking a significant amount of time here.
|
||||
# Limit the noise to once every so often though; otherwise we
|
||||
# could get a feedback loop where every log emit results in a
|
||||
|
||||
@ -48,7 +48,9 @@ def standard_message_sender_gen_pcommand(
|
||||
if embedded:
|
||||
protocol_module_level_import_code = (
|
||||
'from efro.util import explicit_bool\n'
|
||||
f'\n# Dummy import for type-checking purposes.\n'
|
||||
f'\n'
|
||||
f'# Dummy import for type-checking purposes.\n'
|
||||
f'# pylint: disable=possibly-used-before-assignment\n'
|
||||
f'if explicit_bool(False):\n'
|
||||
f' from {source_module} import {get_protocol_import}'
|
||||
)
|
||||
@ -116,7 +118,9 @@ def standard_message_receiver_gen_pcommand(
|
||||
if embedded:
|
||||
protocol_module_level_import_code = (
|
||||
'from efro.util import explicit_bool\n'
|
||||
f'\n# Dummy import for type-checking purposes.\n'
|
||||
f'\n'
|
||||
f'# Dummy import for type-checking purposes.\n'
|
||||
f'# pylint: disable=possibly-used-before-assignment\n'
|
||||
f'if explicit_bool(False):\n'
|
||||
f' from {source_module} import {get_protocol_import}\n'
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user