BIN
assets/share/dungeon/ui/SIMULATED_UNIVERSE_CHECK.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
assets/share/dungeon/ui/SIMULATED_UNIVERSE_CLICK.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
assets/share/dungeon/ui/SURVIVAL_INDEX_OE_LOADED.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
@ -557,7 +557,7 @@ class KeywordExtract:
|
||||
self.load_keywords(['模拟宇宙', '拟造花萼(金)', '拟造花萼(赤)', '凝滞虚影', '侵蚀隧洞', '历战余响',
|
||||
'忘却之庭', '虚构叙事'])
|
||||
self.write_keywords(keyword_class='DungeonNav', output_file='./tasks/dungeon/keywords/nav.py')
|
||||
self.load_keywords(['行动摘要', '生存索引', '每日实训', '逐光捡金', '战术训练'])
|
||||
self.load_keywords(['行动摘要', '生存索引', '每日实训', '模拟宇宙', '逐光捡金', '战术训练'])
|
||||
self.write_keywords(keyword_class='DungeonTab', output_file='./tasks/dungeon/keywords/tab.py')
|
||||
self.load_keywords(['前往', '领取', '进行中', '已领取', '本日活跃度已满'])
|
||||
self.write_keywords(keyword_class='DailyQuestState', output_file='./tasks/daily/keywords/daily_quest_state.py')
|
||||
|
@ -1,13 +0,0 @@
|
||||
from tasks.assignment.assets.assets_assignment_ui import (
|
||||
ALL_ABOUT_BOOTHILL_CHECK, ALL_ABOUT_BOOTHILL_CLICK,
|
||||
CHARACTER_MATERIALS_CHECK, CHARACTER_MATERIALS_CLICK,
|
||||
EXP_MATERIALS_CREDITS_CHECK, EXP_MATERIALS_CREDITS_CLICK, GROUP_SEARCH,
|
||||
SYNTHESIS_MATERIALS_CHECK, SYNTHESIS_MATERIALS_CLICK)
|
||||
|
||||
for group_button_wrapper in (
|
||||
ALL_ABOUT_BOOTHILL_CHECK, ALL_ABOUT_BOOTHILL_CLICK,
|
||||
CHARACTER_MATERIALS_CHECK, CHARACTER_MATERIALS_CLICK,
|
||||
EXP_MATERIALS_CREDITS_CHECK, EXP_MATERIALS_CREDITS_CLICK,
|
||||
SYNTHESIS_MATERIALS_CHECK, SYNTHESIS_MATERIALS_CLICK,
|
||||
):
|
||||
group_button_wrapper.load_search(GROUP_SEARCH.button)
|
@ -15,7 +15,7 @@ from tasks.assignment.assets.assets_assignment_ui import *
|
||||
from tasks.assignment.keywords import *
|
||||
from tasks.base.assets.assets_base_page import ASSIGNMENT_CHECK
|
||||
from tasks.base.ui import UI
|
||||
from tasks.dungeon.ui import DungeonTabSwitch as Switch
|
||||
from tasks.dungeon.ui import DungeonTabSwitch
|
||||
|
||||
|
||||
class AssignmentStatus(Enum):
|
||||
@ -102,7 +102,11 @@ class AssignmentOcr(Ocr):
|
||||
return matched
|
||||
|
||||
|
||||
ASSIGNMENT_GROUP_SWITCH = Switch(
|
||||
class AssignmentGroupSwitch(DungeonTabSwitch):
|
||||
SEARCH_BUTTON = GROUP_SEARCH
|
||||
|
||||
|
||||
ASSIGNMENT_GROUP_SWITCH = AssignmentGroupSwitch(
|
||||
'AssignmentGroupSwitch',
|
||||
is_selector=True
|
||||
)
|
||||
|
@ -123,6 +123,26 @@ OPERATION_BRIEFING_CLICK = ButtonWrapper(
|
||||
button=(149, 92, 193, 136),
|
||||
),
|
||||
)
|
||||
SIMULATED_UNIVERSE_CHECK = ButtonWrapper(
|
||||
name='SIMULATED_UNIVERSE_CHECK',
|
||||
share=Button(
|
||||
file='./assets/share/dungeon/ui/SIMULATED_UNIVERSE_CHECK.png',
|
||||
area=(352, 99, 386, 133),
|
||||
search=(332, 79, 406, 153),
|
||||
color=(96, 96, 96),
|
||||
button=(352, 99, 386, 133),
|
||||
),
|
||||
)
|
||||
SIMULATED_UNIVERSE_CLICK = ButtonWrapper(
|
||||
name='SIMULATED_UNIVERSE_CLICK',
|
||||
share=Button(
|
||||
file='./assets/share/dungeon/ui/SIMULATED_UNIVERSE_CLICK.png',
|
||||
area=(352, 99, 386, 133),
|
||||
search=(332, 79, 406, 153),
|
||||
color=(122, 120, 120),
|
||||
button=(352, 99, 386, 133),
|
||||
),
|
||||
)
|
||||
SURVIVAL_INDEX_CHECK = ButtonWrapper(
|
||||
name='SURVIVAL_INDEX_CHECK',
|
||||
share=Button(
|
||||
@ -143,10 +163,20 @@ SURVIVAL_INDEX_CLICK = ButtonWrapper(
|
||||
button=(332, 94, 370, 133),
|
||||
),
|
||||
)
|
||||
SURVIVAL_INDEX_LOADED = ButtonWrapper(
|
||||
name='SURVIVAL_INDEX_LOADED',
|
||||
SURVIVAL_INDEX_OE_LOADED = ButtonWrapper(
|
||||
name='SURVIVAL_INDEX_OE_LOADED',
|
||||
share=Button(
|
||||
file='./assets/share/dungeon/ui/SURVIVAL_INDEX_LOADED.png',
|
||||
file='./assets/share/dungeon/ui/SURVIVAL_INDEX_OE_LOADED.png',
|
||||
area=(473, 207, 498, 232),
|
||||
search=(453, 187, 518, 252),
|
||||
color=(185, 135, 74),
|
||||
button=(473, 207, 498, 232),
|
||||
),
|
||||
)
|
||||
SURVIVAL_INDEX_SU_LOADED = ButtonWrapper(
|
||||
name='SURVIVAL_INDEX_SU_LOADED',
|
||||
share=Button(
|
||||
file='./assets/share/dungeon/ui/SURVIVAL_INDEX_SU_LOADED.png',
|
||||
area=(451, 286, 476, 302),
|
||||
search=(449, 263, 489, 356),
|
||||
color=(142, 150, 197),
|
||||
|
@ -30,8 +30,17 @@ Daily_Training = DungeonTab(
|
||||
jp='デイリー訓練',
|
||||
es='Entrenamiento diario',
|
||||
)
|
||||
Treasures_Lightward = DungeonTab(
|
||||
Simulated_Universe = DungeonTab(
|
||||
id=4,
|
||||
name='Simulated_Universe',
|
||||
cn='模拟宇宙',
|
||||
cht='模擬宇宙',
|
||||
en='Simulated Universe',
|
||||
jp='模擬宇宙',
|
||||
es='Universo Simulado',
|
||||
)
|
||||
Treasures_Lightward = DungeonTab(
|
||||
id=5,
|
||||
name='Treasures_Lightward',
|
||||
cn='逐光捡金',
|
||||
cht='逐光撿金',
|
||||
@ -40,7 +49,7 @@ Treasures_Lightward = DungeonTab(
|
||||
es='En busca de fortuna',
|
||||
)
|
||||
Strategic_Training = DungeonTab(
|
||||
id=5,
|
||||
id=6,
|
||||
name='Strategic_Training',
|
||||
cn='战术训练',
|
||||
cht='戰術訓練',
|
||||
|
@ -33,12 +33,14 @@ from tasks.map.keywords import KEYWORDS_MAP_WORLD, MapPlane
|
||||
|
||||
|
||||
class DungeonTabSwitch(Switch):
|
||||
SEARCH_BUTTON = TAB_SEARCH
|
||||
|
||||
def add_state(self, state, check_button, click_button=None):
|
||||
# Load search
|
||||
if check_button is not None:
|
||||
check_button.load_search(TAB_SEARCH.area)
|
||||
check_button.load_search(self.__class__.SEARCH_BUTTON.area)
|
||||
if click_button is not None:
|
||||
click_button.load_search(TAB_SEARCH.area)
|
||||
click_button.load_search(self.__class__.SEARCH_BUTTON.area)
|
||||
return super().add_state(state, check_button, click_button)
|
||||
|
||||
def click(self, state, main):
|
||||
@ -68,6 +70,11 @@ SWITCH_DUNGEON_TAB.add_state(
|
||||
check_button=SURVIVAL_INDEX_CHECK,
|
||||
click_button=SURVIVAL_INDEX_CLICK
|
||||
)
|
||||
SWITCH_DUNGEON_TAB.add_state(
|
||||
KEYWORDS_DUNGEON_TAB.Simulated_Universe,
|
||||
check_button=SIMULATED_UNIVERSE_CHECK,
|
||||
click_button=SIMULATED_UNIVERSE_CLICK
|
||||
)
|
||||
SWITCH_DUNGEON_TAB.add_state(
|
||||
KEYWORDS_DUNGEON_TAB.Treasures_Lightward,
|
||||
check_button=TREASURES_LIGHTWARD_CHECK,
|
||||
@ -296,8 +303,11 @@ class DungeonUI(DungeonState):
|
||||
if timeout.reached():
|
||||
logger.warning('Wait survival index loaded timeout')
|
||||
return False
|
||||
if self.appear(SURVIVAL_INDEX_LOADED):
|
||||
logger.info('Survival index loaded')
|
||||
if self.appear(SURVIVAL_INDEX_SU_LOADED):
|
||||
logger.info('Survival index loaded, SURVIVAL_INDEX_SU_LOADED')
|
||||
return True
|
||||
if self.appear(SURVIVAL_INDEX_OE_LOADED):
|
||||
logger.info('Survival index loaded, SURVIVAL_INDEX_OE_LOADED')
|
||||
return True
|
||||
|
||||
def _dungeon_wait_treasures_lightward_loaded(self, skip_first_screenshot=True):
|
||||
@ -703,7 +713,7 @@ class DungeonUI(DungeonState):
|
||||
self._rogue_teleport()
|
||||
"""
|
||||
self.dungeon_tab_goto(KEYWORDS_DUNGEON_TAB.Survival_Index)
|
||||
if self.appear(SURVIVAL_INDEX_LOADED):
|
||||
if self.appear(SURVIVAL_INDEX_SU_LOADED):
|
||||
logger.info('Already at nav Simulated_Universe')
|
||||
else:
|
||||
self._dungeon_nav_goto(KEYWORDS_DUNGEON_NAV.Simulated_Universe)
|
||||
|