Files
AzurLaneAutoScript/module/island/ui.py

74 lines
2.1 KiB
Python
Raw Normal View History

2025-10-04 22:26:48 +08:00
from datetime import timedelta
2025-10-04 22:26:48 +08:00
from module.island.assets import *
2025-10-04 22:26:48 +08:00
from module.ocr.ocr import Duration
2026-02-08 23:06:50 +08:00
from module.ui.assets import SHOP_BACK_ARROW
from module.ui.page import page_island_phone
2025-10-04 22:26:48 +08:00
from module.ui.ui import UI
2025-10-04 22:26:48 +08:00
class IslandProductionTime(Duration):
def after_process(self, result):
result = super().after_process(result)
if result == '0:40:00':
result = '01:40:00'
return result
2025-10-04 22:26:48 +08:00
2025-10-04 22:26:48 +08:00
OCR_PRODUCTION_TIME = IslandProductionTime(OCR_PRODUCTION_TIME, lang='azur_lane_jp', name='OCR_PRODUCTION_TIME')
OCR_PRODUCTION_TIME_REMAIN = Duration(OCR_PRODUCTION_TIME_REMAIN, name='OCR_PRODUCTION_TIME_REMAIN')
2025-10-14 22:44:08 +08:00
2025-10-04 22:26:48 +08:00
class IslandUI(UI):
def island_in_management(self, interval=0):
2026-02-17 20:58:33 +08:00
"""
Args:
interval (int):
Returns:
2025-10-04 22:26:48 +08:00
bool: if in page ISLAND_MANAGEMENT_CHECK
2026-02-17 20:58:33 +08:00
"""
2025-10-04 22:26:48 +08:00
return self.appear(ISLAND_MANAGEMENT_CHECK, offset=(20, 20), interval=interval)
2026-02-17 20:58:33 +08:00
2025-10-04 22:26:48 +08:00
def island_management_enter(self):
"""
Pages:
in: page_island_phone
out: ISLAND_MANAGEMENT_CHECK
"""
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
self.ui_click(
click_button=ISLAND_MANAGEMENT,
check_button=self.island_in_management,
offset=(20, 20),
retry_wait=2,
skip_first_screenshot=True
)
2025-10-04 22:26:48 +08:00
def island_management_quit(self):
2025-10-04 22:26:48 +08:00
"""
Pages:
2025-10-04 22:26:48 +08:00
in: ISLAND_MANAGEMENT_CHECK
out: page_island_phone
2026-02-17 20:58:33 +08:00
"""
self.ui_click(
2025-10-04 22:26:48 +08:00
click_button=SHOP_BACK_ARROW,
check_button=page_island_phone.check_button,
2026-02-17 20:58:33 +08:00
offset=(20, 20),
retry_wait=2,
skip_first_screenshot=True
)
2025-10-04 22:26:48 +08:00
def island_product_quit(self):
2025-10-14 22:44:08 +08:00
"""
2025-10-04 22:26:48 +08:00
Execute quit product page
2025-10-04 22:26:48 +08:00
"""
2025-10-04 22:26:48 +08:00
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
2025-10-04 22:26:48 +08:00
self.ui_click(
click_button=SHOP_BACK_ARROW,
2025-10-04 22:26:48 +08:00
check_button=self.island_in_management,
2025-10-04 22:26:48 +08:00
offset=(20, 20),
retry_wait=2,
skip_first_screenshot=True
)