mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-16 06:25:24 +00:00
commit
f235e33a34
BIN
assets/en/assignment/ui/CHARACTER_MATERIALS_CHECK.2.png
Normal file
BIN
assets/en/assignment/ui/CHARACTER_MATERIALS_CHECK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
BIN
assets/en/assignment/ui/CHARACTER_MATERIALS_CLICK.2.png
Normal file
BIN
assets/en/assignment/ui/CHARACTER_MATERIALS_CLICK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
BIN
assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CHECK.2.png
Normal file
BIN
assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CHECK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
BIN
assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CLICK.2.png
Normal file
BIN
assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CLICK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
BIN
assets/en/assignment/ui/SYNTHESIS_MATERIALS_CHECK.2.png
Normal file
BIN
assets/en/assignment/ui/SYNTHESIS_MATERIALS_CHECK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
BIN
assets/en/assignment/ui/SYNTHESIS_MATERIALS_CLICK.2.png
Normal file
BIN
assets/en/assignment/ui/SYNTHESIS_MATERIALS_CLICK.2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
@ -144,15 +144,25 @@ class ButtonWrapper(Resource):
|
||||
def __bool__(self):
|
||||
return True
|
||||
|
||||
def iter_buttons(self) -> t.Iterator[Button]:
|
||||
for _, assets in self.data_buttons.items():
|
||||
if isinstance(assets, Button):
|
||||
yield assets
|
||||
elif isinstance(assets, list):
|
||||
for asset in assets:
|
||||
yield asset
|
||||
|
||||
@cached_property
|
||||
def buttons(self) -> t.List[Button]:
|
||||
for trial in [server.lang, 'share', 'cn']:
|
||||
assets = self.data_buttons.get(trial, None)
|
||||
if assets is not None:
|
||||
try:
|
||||
assets = self.data_buttons[trial]
|
||||
if isinstance(assets, Button):
|
||||
return [assets]
|
||||
elif isinstance(assets, list):
|
||||
return assets
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
raise ScriptError(f'ButtonWrapper({self}) on server {server.lang} has no fallback button')
|
||||
|
||||
@ -221,13 +231,24 @@ class ButtonWrapper(Resource):
|
||||
"""
|
||||
if isinstance(button, ButtonWrapper):
|
||||
button = button.matched_button
|
||||
for b in self.buttons:
|
||||
for b in self.iter_buttons():
|
||||
b.load_offset(button)
|
||||
|
||||
def clear_offset(self):
|
||||
for b in self.buttons:
|
||||
for b in self.iter_buttons():
|
||||
b.clear_offset()
|
||||
|
||||
def load_search(self, area):
|
||||
"""
|
||||
Set `search` attribute.
|
||||
Note that this method is irreversible.
|
||||
|
||||
Args:
|
||||
area:
|
||||
"""
|
||||
for b in self.iter_buttons():
|
||||
b.search = area
|
||||
|
||||
|
||||
class ClickButton:
|
||||
def __init__(self, button, name='CLICK_BUTTON'):
|
||||
|
@ -1,4 +1,3 @@
|
||||
from module.config.server import VALID_LANG
|
||||
from tasks.assignment.assets.assets_assignment_ui import (
|
||||
CHARACTER_MATERIALS_CHECK, CHARACTER_MATERIALS_CLICK,
|
||||
EXP_MATERIALS_CREDITS_CHECK, EXP_MATERIALS_CREDITS_CLICK, GROUP_SEARCH,
|
||||
@ -12,8 +11,4 @@ for group_button_wrapper in (
|
||||
EXP_MATERIALS_CREDITS_CHECK, EXP_MATERIALS_CREDITS_CLICK,
|
||||
SYNTHESIS_MATERIALS_CHECK, SYNTHESIS_MATERIALS_CLICK,
|
||||
):
|
||||
for lang in VALID_LANG:
|
||||
button = group_button_wrapper.data_buttons.get(lang, None)
|
||||
if button is None:
|
||||
continue
|
||||
button.search = GROUP_SEARCH.button
|
||||
group_button_wrapper.load_search(GROUP_SEARCH.button)
|
||||
|
@ -12,13 +12,22 @@ CHARACTER_MATERIALS_CHECK = ButtonWrapper(
|
||||
color=(177, 176, 173),
|
||||
button=(346, 97, 421, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CHECK.png',
|
||||
area=(339, 88, 429, 126),
|
||||
search=(319, 68, 449, 146),
|
||||
color=(193, 192, 189),
|
||||
button=(339, 88, 429, 126),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CHECK.png',
|
||||
area=(339, 88, 429, 126),
|
||||
search=(319, 68, 449, 146),
|
||||
color=(193, 192, 189),
|
||||
button=(339, 88, 429, 126),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CHECK.2.png',
|
||||
area=(142, 98, 234, 119),
|
||||
search=(319, 68, 449, 146),
|
||||
color=(203, 202, 199),
|
||||
button=(142, 98, 234, 119),
|
||||
),
|
||||
],
|
||||
)
|
||||
CHARACTER_MATERIALS_CLICK = ButtonWrapper(
|
||||
name='CHARACTER_MATERIALS_CLICK',
|
||||
@ -29,13 +38,22 @@ CHARACTER_MATERIALS_CLICK = ButtonWrapper(
|
||||
color=(60, 60, 60),
|
||||
button=(347, 97, 421, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CLICK.png',
|
||||
area=(339, 88, 429, 127),
|
||||
search=(319, 68, 449, 147),
|
||||
color=(49, 49, 49),
|
||||
button=(339, 88, 429, 127),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CLICK.png',
|
||||
area=(339, 88, 429, 127),
|
||||
search=(319, 68, 449, 147),
|
||||
color=(49, 49, 49),
|
||||
button=(339, 88, 429, 127),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/CHARACTER_MATERIALS_CLICK.2.png',
|
||||
area=(143, 98, 234, 120),
|
||||
search=(319, 68, 449, 147),
|
||||
color=(61, 59, 57),
|
||||
button=(143, 98, 234, 120),
|
||||
),
|
||||
],
|
||||
)
|
||||
DISPATCHED = ButtonWrapper(
|
||||
name='DISPATCHED',
|
||||
@ -73,13 +91,22 @@ EXP_MATERIALS_CREDITS_CHECK = ButtonWrapper(
|
||||
color=(178, 177, 174),
|
||||
button=(514, 97, 614, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CHECK.png',
|
||||
area=(529, 88, 599, 126),
|
||||
search=(509, 68, 619, 146),
|
||||
color=(202, 201, 198),
|
||||
button=(529, 88, 599, 126),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CHECK.png',
|
||||
area=(529, 88, 599, 126),
|
||||
search=(509, 68, 619, 146),
|
||||
color=(202, 201, 198),
|
||||
button=(529, 88, 599, 126),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CHECK.2.png',
|
||||
area=(373, 98, 458, 119),
|
||||
search=(509, 68, 619, 146),
|
||||
color=(191, 190, 187),
|
||||
button=(373, 98, 458, 119),
|
||||
),
|
||||
],
|
||||
)
|
||||
EXP_MATERIALS_CREDITS_CLICK = ButtonWrapper(
|
||||
name='EXP_MATERIALS_CREDITS_CLICK',
|
||||
@ -90,13 +117,22 @@ EXP_MATERIALS_CREDITS_CLICK = ButtonWrapper(
|
||||
color=(61, 60, 60),
|
||||
button=(514, 97, 614, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CLICK.png',
|
||||
area=(528, 88, 599, 127),
|
||||
search=(508, 68, 619, 147),
|
||||
color=(42, 42, 42),
|
||||
button=(528, 88, 599, 127),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CLICK.png',
|
||||
area=(528, 88, 599, 127),
|
||||
search=(508, 68, 619, 147),
|
||||
color=(42, 42, 42),
|
||||
button=(528, 88, 599, 127),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/EXP_MATERIALS_CREDITS_CLICK.2.png',
|
||||
area=(374, 98, 459, 119),
|
||||
search=(508, 68, 619, 147),
|
||||
color=(49, 49, 49),
|
||||
button=(374, 98, 459, 119),
|
||||
),
|
||||
],
|
||||
)
|
||||
GROUP_SEARCH = ButtonWrapper(
|
||||
name='GROUP_SEARCH',
|
||||
@ -198,13 +234,22 @@ SYNTHESIS_MATERIALS_CHECK = ButtonWrapper(
|
||||
color=(180, 179, 176),
|
||||
button=(708, 97, 783, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CHECK.png',
|
||||
area=(703, 88, 790, 126),
|
||||
search=(683, 68, 810, 146),
|
||||
color=(189, 188, 185),
|
||||
button=(703, 88, 790, 126),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CHECK.png',
|
||||
area=(703, 88, 790, 126),
|
||||
search=(683, 68, 810, 146),
|
||||
color=(189, 188, 185),
|
||||
button=(703, 88, 790, 126),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CHECK.2.png',
|
||||
area=(624, 97, 715, 119),
|
||||
search=(683, 68, 810, 146),
|
||||
color=(197, 196, 193),
|
||||
button=(624, 97, 715, 119),
|
||||
),
|
||||
],
|
||||
)
|
||||
SYNTHESIS_MATERIALS_CLICK = ButtonWrapper(
|
||||
name='SYNTHESIS_MATERIALS_CLICK',
|
||||
@ -215,11 +260,20 @@ SYNTHESIS_MATERIALS_CLICK = ButtonWrapper(
|
||||
color=(68, 66, 65),
|
||||
button=(709, 97, 783, 117),
|
||||
),
|
||||
en=Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CLICK.png',
|
||||
area=(702, 88, 790, 126),
|
||||
search=(682, 68, 810, 146),
|
||||
color=(61, 59, 58),
|
||||
button=(702, 88, 790, 126),
|
||||
),
|
||||
en=[
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CLICK.png',
|
||||
area=(702, 88, 790, 126),
|
||||
search=(682, 68, 810, 146),
|
||||
color=(61, 59, 58),
|
||||
button=(702, 88, 790, 126),
|
||||
),
|
||||
Button(
|
||||
file='./assets/en/assignment/ui/SYNTHESIS_MATERIALS_CLICK.2.png',
|
||||
area=(624, 97, 715, 119),
|
||||
search=(682, 68, 810, 146),
|
||||
color=(51, 50, 49),
|
||||
button=(624, 97, 715, 119),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@ -10,9 +10,10 @@ from tasks.base.page import Page, page_main
|
||||
from tasks.combat.assets.assets_combat_finish import COMBAT_EXIT
|
||||
from tasks.combat.assets.assets_combat_prepare import COMBAT_PREPARE
|
||||
from tasks.daily.assets.assets_daily_trial import INFO_CLOSE
|
||||
from tasks.login.assets.assets_login import LOGIN_CONFIRM
|
||||
|
||||
|
||||
class UI( MainPage):
|
||||
class UI(MainPage):
|
||||
ui_current: Page
|
||||
ui_main_confirm_timer = Timer(0.2, count=0)
|
||||
|
||||
@ -137,8 +138,14 @@ class UI( MainPage):
|
||||
continue
|
||||
|
||||
# Additional
|
||||
if self.handle_popup_single():
|
||||
continue
|
||||
if self.handle_popup_confirm():
|
||||
continue
|
||||
if self.ui_additional():
|
||||
continue
|
||||
if self.appear_then_click(LOGIN_CONFIRM):
|
||||
continue
|
||||
|
||||
# Reset connection
|
||||
Page.clear_connection()
|
||||
|
@ -51,6 +51,8 @@ class Login(UI):
|
||||
if self.appear(LOGIN_LOADING, interval=5):
|
||||
logger.info('Game resources downloading or loading')
|
||||
self.device.stuck_record_clear()
|
||||
app_timer.reset()
|
||||
orientation_timer.reset()
|
||||
|
||||
# Login
|
||||
if self.appear_then_click(LOGIN_CONFIRM):
|
||||
|
Loading…
Reference in New Issue
Block a user