mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-26 08:53:32 +08:00
Got about section cleaned up for new discord button
This commit is contained in:
parent
32f280e81b
commit
b4017bcefd
10
.efrocachemap
generated
10
.efrocachemap
generated
@ -421,21 +421,21 @@
|
||||
"build/assets/ba_data/audio/zoeOw.ogg": "74befe45a8417e95b6a2233c51992a26",
|
||||
"build/assets/ba_data/audio/zoePickup01.ogg": "48ab8cddfcde36a750856f3f81dd20c8",
|
||||
"build/assets/ba_data/audio/zoeScream01.ogg": "2b468aedfa8741090247f04eb9e6df55",
|
||||
"build/assets/ba_data/data/langdata.json": "4a35cc51d1021fa7e525123bcf99043c",
|
||||
"build/assets/ba_data/data/langdata.json": "f200cdf431b9494d8b96cdd47e950dd1",
|
||||
"build/assets/ba_data/data/languages/arabic.json": "00ba700de6c672a56658a6bd1ad27523",
|
||||
"build/assets/ba_data/data/languages/belarussian.json": "7fe38341815ca6ff4d95224196e7a67e",
|
||||
"build/assets/ba_data/data/languages/belarussian.json": "40883823367f04c5a2403a96525bfcc3",
|
||||
"build/assets/ba_data/data/languages/chinese.json": "5761468d25f2bd4e79921826cebd572b",
|
||||
"build/assets/ba_data/data/languages/chinesetraditional.json": "f858da49be0a5374157c627857751078",
|
||||
"build/assets/ba_data/data/languages/croatian.json": "766532c67af5bd0144c2d63cab0516fa",
|
||||
"build/assets/ba_data/data/languages/czech.json": "cd21ad8c6b8e9ed700284cf1e1aecbf8",
|
||||
"build/assets/ba_data/data/languages/danish.json": "3fd69080783d5c9dcc0af737f02b6f1e",
|
||||
"build/assets/ba_data/data/languages/dutch.json": "22b44a33bf81142ba2befad14eb5746e",
|
||||
"build/assets/ba_data/data/languages/english.json": "bd43b77b1ccca059573acbde148b4767",
|
||||
"build/assets/ba_data/data/languages/english.json": "6a3fab4fb8b2879e00ed9877709bf504",
|
||||
"build/assets/ba_data/data/languages/esperanto.json": "0e397cfa5f3fb8cef5f4a64f21cda880",
|
||||
"build/assets/ba_data/data/languages/filipino.json": "0f5ad7c06db70027b116dfd9324bdf67",
|
||||
"build/assets/ba_data/data/languages/filipino.json": "6f4051ce78861a4666f4978d6f9a0ed2",
|
||||
"build/assets/ba_data/data/languages/french.json": "49ff6d211537b8003b8241438dca661d",
|
||||
"build/assets/ba_data/data/languages/german.json": "450fa41ae264f29a5d1af22143d0d0ad",
|
||||
"build/assets/ba_data/data/languages/gibberish.json": "9aae526303a22372fe9b4cf1781520ef",
|
||||
"build/assets/ba_data/data/languages/gibberish.json": "25fcb5130fae56985bee175aa19f86a2",
|
||||
"build/assets/ba_data/data/languages/greek.json": "287c0ec437b38772284ef9d3e4fb2fc3",
|
||||
"build/assets/ba_data/data/languages/hindi.json": "8848f6b0caec0fcf9d85bc6e683809ec",
|
||||
"build/assets/ba_data/data/languages/hungarian.json": "796a290a8c44a1e7635208c2ff5fdc6e",
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
### 1.7.31 (build 21707, api 8, 2023-12-13)
|
||||
- added `bascenev1.get_connection_to_host_info_2()` which is an improved
|
||||
- Added `bascenev1.get_connection_to_host_info_2()` which is an improved
|
||||
type-safe version of `bascenev1.get_connection_to_host_info()`.
|
||||
- There is now a link to the official Discord server in the About section
|
||||
(thanks EraOSBeta!).
|
||||
|
||||
### 1.7.30 (build 21697, api 8, 2023-12-08)
|
||||
- Continued work on the big 1.7.28 update.
|
||||
|
||||
@ -73,6 +73,7 @@ class DiscordWindow(bui.Window):
|
||||
edit=self._root_widget, cancel_button=self._back_button
|
||||
)
|
||||
|
||||
# Do we need to translate 'Discord'? Or is that always the name?
|
||||
self._title_text = bui.textwidget(
|
||||
parent=self._root_widget,
|
||||
position=(0, self._height - 52),
|
||||
@ -91,6 +92,9 @@ class DiscordWindow(bui.Window):
|
||||
texture=bui.gettexture('discordServer'),
|
||||
)
|
||||
|
||||
# Hmm should we translate this? The discord server is mostly
|
||||
# English so being able to read this might be a good screening
|
||||
# process?..
|
||||
bui.textwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width / 2 - 60, self._height - 100),
|
||||
@ -110,7 +114,7 @@ class DiscordWindow(bui.Window):
|
||||
position=(self._width / 2 - 30, 20),
|
||||
size=(self._width / 2 - 60, 60),
|
||||
autoselect=True,
|
||||
label='Join The Discord',
|
||||
label=bui.Lstr(resource='discordJoinText'),
|
||||
text_scale=1.0,
|
||||
on_activate_call=bui.Call(
|
||||
bui.open_url, 'https://ballistica.net/discord'
|
||||
|
||||
@ -16,10 +16,6 @@ if TYPE_CHECKING:
|
||||
class AboutGatherTab(GatherTab):
|
||||
"""The about tab in the gather UI"""
|
||||
|
||||
def __init__(self, window: GatherWindow) -> None:
|
||||
super().__init__(window)
|
||||
self._container: bui.Widget | None = None
|
||||
|
||||
def on_activate(
|
||||
self,
|
||||
parent_widget: bui.Widget,
|
||||
@ -34,6 +30,40 @@ class AboutGatherTab(GatherTab):
|
||||
plus = bui.app.plus
|
||||
assert plus is not None
|
||||
|
||||
try_tickets = plus.get_v1_account_misc_read_val(
|
||||
'friendTryTickets', None
|
||||
)
|
||||
|
||||
show_message = True
|
||||
# Squish message as needed to get things to fit nicely at
|
||||
# various scales.
|
||||
uiscale = bui.app.ui_v1.uiscale
|
||||
message_height = (
|
||||
210
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 305
|
||||
if uiscale is bui.UIScale.MEDIUM
|
||||
else 370
|
||||
)
|
||||
# Let's not talk about sharing in vr-mode; its tricky to fit more
|
||||
# than one head in a VR-headset.
|
||||
show_message_extra = not bui.app.env.vr
|
||||
message_extra_height = 60
|
||||
show_invite = try_tickets is not None
|
||||
invite_height = 80
|
||||
show_discord = True
|
||||
discord_height = 80
|
||||
|
||||
c_height = 0
|
||||
if show_message:
|
||||
c_height += message_height
|
||||
if show_message_extra:
|
||||
c_height += message_extra_height
|
||||
if show_invite:
|
||||
c_height += invite_height
|
||||
if show_discord:
|
||||
c_height += discord_height
|
||||
|
||||
party_button_label = bui.charstr(bui.SpecialChar.TOP_BUTTON)
|
||||
message = bui.Lstr(
|
||||
resource='gatherWindow.aboutDescriptionText',
|
||||
@ -43,9 +73,7 @@ class AboutGatherTab(GatherTab):
|
||||
],
|
||||
)
|
||||
|
||||
# Let's not talk about sharing in vr-mode; its tricky to fit more
|
||||
# than one head in a VR-headset ;-)
|
||||
if not bui.app.env.vr:
|
||||
if show_message_extra:
|
||||
message = bui.Lstr(
|
||||
value='${A}\n\n${B}',
|
||||
subs=[
|
||||
@ -59,46 +87,52 @@ class AboutGatherTab(GatherTab):
|
||||
),
|
||||
],
|
||||
)
|
||||
string_height = 400
|
||||
include_invite = True
|
||||
include_discord = False # Need to fix spacing on small first.
|
||||
msc_scale = 1.1
|
||||
c_height_2 = min(region_height, string_height * msc_scale + 100)
|
||||
try_tickets = plus.get_v1_account_misc_read_val(
|
||||
'friendTryTickets', None
|
||||
)
|
||||
|
||||
if try_tickets is None:
|
||||
include_invite = False
|
||||
self._container = bui.containerwidget(
|
||||
scroll_widget = bui.scrollwidget(
|
||||
parent=parent_widget,
|
||||
position=(region_left, region_bottom),
|
||||
size=(region_width, region_height),
|
||||
highlight=False,
|
||||
border_opacity=0,
|
||||
)
|
||||
msc_scale = 1.1
|
||||
|
||||
container = bui.containerwidget(
|
||||
parent=scroll_widget,
|
||||
position=(
|
||||
region_left,
|
||||
region_bottom + (region_height - c_height_2) * 0.5,
|
||||
region_bottom + (region_height - c_height) * 0.5,
|
||||
),
|
||||
size=(region_width, c_height_2),
|
||||
size=(region_width, c_height),
|
||||
background=False,
|
||||
selectable=include_invite or include_discord,
|
||||
selectable=show_invite or show_discord,
|
||||
)
|
||||
bui.widget(edit=self._container, up_widget=tab_button)
|
||||
# Allows escaping if we select the container somehow (though
|
||||
# shouldn't be possible when buttons are present).
|
||||
bui.widget(edit=container, up_widget=tab_button)
|
||||
|
||||
bui.textwidget(
|
||||
parent=self._container,
|
||||
position=(region_width * 0.5, c_height_2 * 0.58),
|
||||
color=(0.6, 1.0, 0.6),
|
||||
scale=msc_scale,
|
||||
size=(0, 0),
|
||||
maxwidth=region_width * 0.9,
|
||||
max_height=c_height_2 * 0.7,
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
text=message,
|
||||
)
|
||||
|
||||
if include_invite:
|
||||
y = c_height - 30
|
||||
if show_message:
|
||||
bui.textwidget(
|
||||
parent=self._container,
|
||||
position=(region_width * 0.57, 35),
|
||||
parent=container,
|
||||
position=(region_width * 0.5, y),
|
||||
color=(0.6, 1.0, 0.6),
|
||||
scale=msc_scale,
|
||||
size=(0, 0),
|
||||
maxwidth=region_width * 0.9,
|
||||
max_height=message_height,
|
||||
h_align='center',
|
||||
v_align='top',
|
||||
text=message,
|
||||
)
|
||||
y -= message_height
|
||||
if show_message_extra:
|
||||
y -= message_extra_height
|
||||
|
||||
if show_invite:
|
||||
bui.textwidget(
|
||||
parent=container,
|
||||
position=(region_width * 0.57, y),
|
||||
color=(0, 1, 0),
|
||||
scale=0.6,
|
||||
size=(0, 0),
|
||||
@ -112,8 +146,8 @@ class AboutGatherTab(GatherTab):
|
||||
),
|
||||
)
|
||||
invite_button = bui.buttonwidget(
|
||||
parent=self._container,
|
||||
position=(region_width * 0.59, 10),
|
||||
parent=container,
|
||||
position=(region_width * 0.59, y - 25),
|
||||
size=(230, 50),
|
||||
color=(0.54, 0.42, 0.56),
|
||||
textcolor=(0, 1, 0),
|
||||
@ -125,13 +159,14 @@ class AboutGatherTab(GatherTab):
|
||||
on_activate_call=bui.WeakCall(self._invite_to_try_press),
|
||||
up_widget=tab_button,
|
||||
)
|
||||
y -= invite_height
|
||||
else:
|
||||
invite_button = None
|
||||
|
||||
if include_discord:
|
||||
if show_discord:
|
||||
bui.textwidget(
|
||||
parent=self._container,
|
||||
position=(region_width * 0.57, 15 if include_invite else 75),
|
||||
parent=container,
|
||||
position=(region_width * 0.57, y),
|
||||
color=(0.6, 0.6, 1),
|
||||
scale=0.6,
|
||||
size=(0, 0),
|
||||
@ -139,26 +174,29 @@ class AboutGatherTab(GatherTab):
|
||||
h_align='right',
|
||||
v_align='center',
|
||||
flatness=1.0,
|
||||
text=(
|
||||
'Want to look for new people to play with?\n'
|
||||
'Join our Discord and find new friends!'
|
||||
),
|
||||
text=bui.Lstr(resource='discordFriendsText'),
|
||||
)
|
||||
bui.buttonwidget(
|
||||
parent=self._container,
|
||||
position=(region_width * 0.59, -10 if include_invite else 50),
|
||||
discord_button = bui.buttonwidget(
|
||||
parent=container,
|
||||
position=(region_width * 0.59, y - 25),
|
||||
size=(230, 50),
|
||||
color=(0.54, 0.42, 0.56),
|
||||
textcolor=(0.6, 0.6, 1),
|
||||
label='Join The Discord',
|
||||
label=bui.Lstr(resource='discordJoinText'),
|
||||
autoselect=True,
|
||||
on_activate_call=bui.WeakCall(self._join_the_discord_press),
|
||||
up_widget=(
|
||||
invite_button if invite_button is not None else tab_button
|
||||
),
|
||||
)
|
||||
y -= discord_height
|
||||
else:
|
||||
discord_button = None
|
||||
|
||||
return self._container
|
||||
if discord_button is not None:
|
||||
pass
|
||||
|
||||
return scroll_widget
|
||||
|
||||
def _invite_to_try_press(self) -> None:
|
||||
from bauiv1lib.account import show_sign_in_prompt
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user