diff --git a/assets/cn/assignment/ui/EVENT_FINISHED.png b/assets/cn/assignment/ui/EVENT_COMPLETED.png similarity index 100% rename from assets/cn/assignment/ui/EVENT_FINISHED.png rename to assets/cn/assignment/ui/EVENT_COMPLETED.png diff --git a/assets/en/assignment/ui/EVENT_COMPLETED.png b/assets/en/assignment/ui/EVENT_COMPLETED.png new file mode 100644 index 000000000..3a15aa266 Binary files /dev/null and b/assets/en/assignment/ui/EVENT_COMPLETED.png differ diff --git a/tasks/assignment/assets/assets_assignment_ui.py b/tasks/assignment/assets/assets_assignment_ui.py index 26379e15b..03cda2fdc 100644 --- a/tasks/assignment/assets/assets_assignment_ui.py +++ b/tasks/assignment/assets/assets_assignment_ui.py @@ -116,16 +116,22 @@ ENTRY_LOADED = ButtonWrapper( button=(474, 161, 491, 615), ), ) -EVENT_FINISHED = ButtonWrapper( - name='EVENT_FINISHED', +EVENT_COMPLETED = ButtonWrapper( + name='EVENT_COMPLETED', cn=Button( - file='./assets/cn/assignment/ui/EVENT_FINISHED.png', + file='./assets/cn/assignment/ui/EVENT_COMPLETED.png', area=(700, 300, 752, 331), search=(680, 280, 772, 351), color=(223, 215, 195), button=(700, 300, 752, 331), ), - en=None, + en=Button( + file='./assets/en/assignment/ui/EVENT_COMPLETED.png', + area=(721, 302, 851, 331), + search=(701, 282, 871, 351), + color=(229, 220, 200), + button=(721, 302, 851, 331), + ), ) EXP_MATERIALS_CREDITS_CHECK = ButtonWrapper( name='EXP_MATERIALS_CREDITS_CHECK', diff --git a/tasks/assignment/assignment.py b/tasks/assignment/assignment.py index 995b0309f..c75e157d8 100644 --- a/tasks/assignment/assignment.py +++ b/tasks/assignment/assignment.py @@ -5,7 +5,7 @@ from tasks.assignment.claim import AssignmentClaim from tasks.assignment.keywords import (KEYWORDS_ASSIGNMENT_GROUP, AssignmentEntry, AssignmentEventEntry, AssignmentEventGroup) -from tasks.assignment.ui import AssignmentStatus +from tasks.assignment.ui import ASSIGNMENT_ENTRY_LIST, AssignmentStatus from tasks.base.page import page_assignment, page_menu from tasks.daily.keywords import KEYWORDS_DAILY_QUEST from tasks.daily.synthesize import SynthesizeUI @@ -33,6 +33,7 @@ class Assignment(AssignmentClaim, SynthesizeUI): self.dispatched = dict() self.has_new_dispatch = False + ASSIGNMENT_ENTRY_LIST.cur_buttons = [] self.ensure_scroll_top(page_menu) self.ui_ensure(page_assignment) event_ongoing = next(( diff --git a/tasks/assignment/claim.py b/tasks/assignment/claim.py index 4118fe3fd..be18e0fcd 100644 --- a/tasks/assignment/claim.py +++ b/tasks/assignment/claim.py @@ -4,7 +4,7 @@ from module.config.stored.classes import now from module.logger import logger from module.ocr.ocr import Duration from tasks.assignment.assets.assets_assignment_claim import * -from tasks.assignment.assets.assets_assignment_ui import EVENT_FINISHED +from tasks.assignment.assets.assets_assignment_ui import EVENT_COMPLETED from tasks.assignment.dispatch import AssignmentDispatch from tasks.assignment.keywords import AssignmentEntry from tasks.base.page import page_assignment @@ -80,8 +80,8 @@ class AssignmentClaim(AssignmentDispatch): if self.appear(page_assignment.check_button): logger.info('Assignment report is closed') break - if self.appear(EVENT_FINISHED): - logger.info('Event finished') + if self.appear(EVENT_COMPLETED): + logger.info('Event completed') return # Close report if self.appear(REPORT, interval=1): diff --git a/tasks/assignment/ui.py b/tasks/assignment/ui.py index a3d2b3a9b..d187207c4 100644 --- a/tasks/assignment/ui.py +++ b/tasks/assignment/ui.py @@ -224,8 +224,8 @@ class AssignmentUI(UI): if timeout.reached(): logger.warning('Wait entry loaded timeout') break - if self.appear(EVENT_FINISHED): - logger.info('Event finished') + if self.appear(EVENT_COMPLETED): + logger.info('Event completed') break if self.appear(ASSIGNMENT_CHECK) and \ self.image_color_count(ENTRY_LOADED, (35, 35, 35), count=800): @@ -244,12 +244,13 @@ class AssignmentUI(UI): if timeout.reached(): logger.warning('Wait correct entry loaded timeout') break - if self.appear(EVENT_FINISHED): - logger.info('Event finished') + if isinstance(group, AssignmentEventGroup) and self.appear(EVENT_COMPLETED): + logger.info('Correct entry loaded') + ASSIGNMENT_ENTRY_LIST.cur_buttons = [] break ASSIGNMENT_ENTRY_LIST.load_rows(self) - if all( + if ASSIGNMENT_ENTRY_LIST.cur_buttons and all( x.matched_keyword.group == group for x in ASSIGNMENT_ENTRY_LIST.cur_buttons ):