From 5ceed7d4aa813f87dedf037e54c78e2e7dd13eb2 Mon Sep 17 00:00:00 2001 From: W1NDes Date: Sat, 6 Sep 2025 04:00:38 +0800 Subject: [PATCH] =?UTF-8?q?Upd(7Dtask):=20=E6=94=AF=E6=8C=81=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E5=87=86=E5=A4=87=E7=95=8C=E9=9D=A2=E7=9A=847?= =?UTF-8?q?=E6=97=A5=E5=B0=8F=E4=BB=BB=E5=8A=A1=E9=A2=86=E5=8F=96=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E8=87=AA=E5=8A=A8=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/cn/smallevent/EVENT_PREPARE_ENTRY.png | Bin 0 -> 9609 bytes assets/cn/smallevent/EVENT_PREPARE_PAGE.png | Bin 0 -> 12643 bytes assets/cn/ui/EVENTPRE_GOTO_MAIN.png | Bin 0 -> 6890 bytes module/smallevent/assets.py | 2 + module/smallevent/samllevent.py | 111 ++++++++++++------- module/ui/assets.py | 1 + module/ui/page.py | 6 +- 7 files changed, 80 insertions(+), 40 deletions(-) create mode 100644 assets/cn/smallevent/EVENT_PREPARE_ENTRY.png create mode 100644 assets/cn/smallevent/EVENT_PREPARE_PAGE.png create mode 100644 assets/cn/ui/EVENTPRE_GOTO_MAIN.png diff --git a/assets/cn/smallevent/EVENT_PREPARE_ENTRY.png b/assets/cn/smallevent/EVENT_PREPARE_ENTRY.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec104e77b36b2768617164b7fe848e5e8274cc6 GIT binary patch literal 9609 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 HzeoQAmowT( literal 0 HcmV?d00001 diff --git a/assets/cn/ui/EVENTPRE_GOTO_MAIN.png b/assets/cn/ui/EVENTPRE_GOTO_MAIN.png new file mode 100644 index 0000000000000000000000000000000000000000..50ebf6f587a78349baf9ece6ceb2e2749f054496 GIT binary patch literal 6890 zcmeHMTTl~e7H$|7lmaXnKH zK4x@|DegkJY|mWJ*fU?AxbJKC&DA9D=q%5Bcgnup9pu#TeeorQ_u)H~$lq%0u4L}H zfAQVkv#*9OAAeAD;V*l9LiXlDy+7{#>mIv*Wt}#;bp0`;)6Kq|2&WtGFgZ3SPOU3U z_fU)^M)eC+i`dD^{Np8>K!8WDpg~QHK#1;sjrse|OpV!n2+&RZwoG<3fa4-9u_rbGqQWSOtu_@@e-!t9#b8lXwNsLTxv|p2B zXD)I4&Evt(t_B7MTrx#L{xnUi=GZzuA@(^`$i7n+{b z7KenS!A!Ei#mGG&T*{;4*y;f#AH40m0gO(&efvzSO~3#`M?$*n64k0nK;rX~6-?q3 z*|@-f(-D7N5inR_Xd7!5w!(5K5Tuccj@WlZv>vfy&gx+GcBocmRk}UMZFuQ$3txhn)z`^ACt>mBOD4zC*%JHpU8^X9Z-0mnf;4 zb{Z`;$FW|-n!6=St@LcLXlA;K0>94Iqj9tO`YaU;M4_!#E*WbXi6-{iI znU|L*u1cFV7qy6k#XqR;e#@r1V(nW$yd=&#P~GH$U*bk&#!Wt^>e8n{hhtf*>9ZV+ zixD;{Wh7}b1Sjf{mZK1*0mmjFH0dKRUbbTsuEJgLu1ppkarO2-!iYhzh;^8H^@YEw zqEtPnY@TqaD|^t+PZnXAY8z45&ikD9SXmd{nJ|LJWc1Kr7!>2gZmUd30^?%|y}2HZ zx!dmr_hW}$o#Td;N@n!?8ZZa5`J_T_^!ColF3}I3IZ%}#4HC90{2azSCIkA{OMz;C zr8shgBFDrvyd*j8m|e=Y#!2D`){2od4sW5rL;Thxr`jaTjWlbvu&{t5k*;pi$Au-? znQ82?^mb{uAk0#aoE~2j+(eKn#g*cUM2`6?BES+>Ct@86$YP#OJRXmaaU=7ar@qUB zdL@3SFjZdwd@sk?r>IrcHzWR0)bjOz+|qSNrIDm`q*Y|uN}93ow*n(t=HQ!@Q0GSF zO3CzD8`g6*YHesttoA*Gs~|$=;-}AFm|OY_&?LdDXsM`!yfW|=-`;|{+|J4WEE)9o z9F3H9CH*rF4^(7u3pI)XAQ3EXDyvcXsbo6BrW_=4d7oWcp*1qU<7E~yUZ9FC@{seI zMOo z;I&dziUe+|tC?-J+77e(#zh?Q)RbVjtN};B6WFztmK@Bgv^ku=-B$WsnX2AMX4Lw3 z9lXM>yLH`NvL{^QF0kimZ#28VeYnpeE}s6V>EWh8!?@`wxjm!t_qQmfqoHcwa%ke$ za#$+OlMN4;<&a4!?sKDGAphVV-lQnh(Ds-Hf8)`O!8#I*=Ao zU>@rk_`IxU#3nv9_|)A4oj;xQ<^s(m!i?MOGmnmX zUl>KXDi5j%s(?Ce)kyCkrug~a_Q-A6;5Fabx46#LZ?9*wbSg=I(bbZ2+z0b~|Jc zZ{^oc##V;P+){@=w@Li3VeM6w-eJUgMj2zCX^2=NqNOzx@Ml}wYR3)D=S$u^KJY@a zV0y>^7LHBT>QHRA4b}veO$ApR#dPd{b9(|B2~1ohq;vA4LV4mV!V@k{edA-6k-8f_ zDKrv)Yl26^6;r~9w-DA*tBf}5qq-W;|6Qx}h0MH};hM|8J)yHD9d?Tvx7O{}EsC_Y z)z)@HnYU`ytp%7CU|N7}_1;#?GA+xrEYq?~v%25n&uChy(MpY0YP2lVO3nY~x5fXp d-d;QjEs>G4X4Gs~GEalJ^I!R$t2-N>^=~e`nD+nx literal 0 HcmV?d00001 diff --git a/module/smallevent/assets.py b/module/smallevent/assets.py index ec54abc25..05f3a4de0 100644 --- a/module/smallevent/assets.py +++ b/module/smallevent/assets.py @@ -12,6 +12,8 @@ ACTIVITY_ONE_PAGE = Button(area={'cn': (102, 515, 277, 600), 'en': (102, 515, 27 ACTIVITY_SELECTED_GRID = Button(area={'cn': (4, 241, 30, 344), 'en': (4, 241, 30, 344), 'jp': (4, 241, 30, 344), 'tw': (4, 241, 30, 344)}, color={'cn': (165, 118, 77), 'en': (165, 118, 77), 'jp': (165, 118, 77), 'tw': (165, 118, 77)}, button={'cn': (4, 241, 30, 344), 'en': (4, 241, 30, 344), 'jp': (4, 241, 30, 344), 'tw': (4, 241, 30, 344)}, file={'cn': './assets/cn/smallevent/ACTIVITY_SELECTED_GRID.png', 'en': './assets/cn/smallevent/ACTIVITY_SELECTED_GRID.png', 'jp': './assets/cn/smallevent/ACTIVITY_SELECTED_GRID.png', 'tw': './assets/cn/smallevent/ACTIVITY_SELECTED_GRID.png'}) EVENT_NOTIFY_ENTRY = Button(area={'cn': (1182, 164, 1258, 186), 'en': (1182, 164, 1258, 186), 'jp': (1182, 164, 1258, 186), 'tw': (1182, 164, 1258, 186)}, color={'cn': (110, 112, 115), 'en': (110, 112, 115), 'jp': (110, 112, 115), 'tw': (110, 112, 115)}, button={'cn': (1182, 164, 1258, 186), 'en': (1182, 164, 1258, 186), 'jp': (1182, 164, 1258, 186), 'tw': (1182, 164, 1258, 186)}, file={'cn': './assets/cn/smallevent/EVENT_NOTIFY_ENTRY.png', 'en': './assets/cn/smallevent/EVENT_NOTIFY_ENTRY.png', 'jp': './assets/cn/smallevent/EVENT_NOTIFY_ENTRY.png', 'tw': './assets/cn/smallevent/EVENT_NOTIFY_ENTRY.png'}) EVENT_NOTIFY_PAGE = Button(area={'cn': (117, 9, 337, 46), 'en': (117, 9, 337, 46), 'jp': (117, 9, 337, 46), 'tw': (117, 9, 337, 46)}, color={'cn': (82, 90, 118), 'en': (82, 90, 118), 'jp': (82, 90, 118), 'tw': (82, 90, 118)}, button={'cn': (117, 9, 337, 46), 'en': (117, 9, 337, 46), 'jp': (117, 9, 337, 46), 'tw': (117, 9, 337, 46)}, file={'cn': './assets/cn/smallevent/EVENT_NOTIFY_PAGE.png', 'en': './assets/cn/smallevent/EVENT_NOTIFY_PAGE.png', 'jp': './assets/cn/smallevent/EVENT_NOTIFY_PAGE.png', 'tw': './assets/cn/smallevent/EVENT_NOTIFY_PAGE.png'}) +EVENT_PREPARE_ENTRY = Button(area={'cn': (1077, 165, 1145, 188), 'en': (1077, 165, 1145, 188), 'jp': (1077, 165, 1145, 188), 'tw': (1077, 165, 1145, 188)}, color={'cn': (125, 126, 129), 'en': (125, 126, 129), 'jp': (125, 126, 129), 'tw': (125, 126, 129)}, button={'cn': (1077, 165, 1145, 188), 'en': (1077, 165, 1145, 188), 'jp': (1077, 165, 1145, 188), 'tw': (1077, 165, 1145, 188)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_ENTRY.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_ENTRY.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_ENTRY.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_ENTRY.png'}) +EVENT_PREPARE_PAGE = Button(area={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, color={'cn': (100, 105, 116), 'en': (100, 105, 116), 'jp': (100, 105, 116), 'tw': (100, 105, 116)}, button={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png'}) SEVEND_TASK_20250320 = Button(area={'cn': (323, 103, 823, 271), 'en': (323, 103, 823, 271), 'jp': (323, 103, 823, 271), 'tw': (323, 103, 823, 271)}, color={'cn': (215, 164, 151), 'en': (215, 164, 151), 'jp': (215, 164, 151), 'tw': (215, 164, 151)}, button={'cn': (323, 103, 823, 271), 'en': (323, 103, 823, 271), 'jp': (323, 103, 823, 271), 'tw': (323, 103, 823, 271)}, file={'cn': './assets/cn/smallevent/SEVEND_TASK_20250320.png', 'en': './assets/cn/smallevent/SEVEND_TASK_20250320.png', 'jp': './assets/cn/smallevent/SEVEND_TASK_20250320.png', 'tw': './assets/cn/smallevent/SEVEND_TASK_20250320.png'}) SEVEND_TASK_FINISH_20250320 = Button(area={'cn': (322, 293, 373, 341), 'en': (322, 293, 373, 341), 'jp': (322, 293, 373, 341), 'tw': (322, 293, 373, 341)}, color={'cn': (219, 214, 211), 'en': (219, 214, 211), 'jp': (219, 214, 211), 'tw': (219, 214, 211)}, button={'cn': (322, 293, 373, 341), 'en': (322, 293, 373, 341), 'jp': (322, 293, 373, 341), 'tw': (322, 293, 373, 341)}, file={'cn': './assets/cn/smallevent/SEVEND_TASK_FINISH_20250320.png', 'en': './assets/cn/smallevent/SEVEND_TASK_FINISH_20250320.png', 'jp': './assets/cn/smallevent/SEVEND_TASK_FINISH_20250320.png', 'tw': './assets/cn/smallevent/SEVEND_TASK_FINISH_20250320.png'}) SEVEND_TASK_GET1_20250320 = Button(area={'cn': (704, 381, 866, 425), 'en': (704, 381, 866, 425), 'jp': (704, 381, 866, 425), 'tw': (704, 381, 866, 425)}, color={'cn': (157, 86, 79), 'en': (157, 86, 79), 'jp': (157, 86, 79), 'tw': (157, 86, 79)}, button={'cn': (704, 381, 866, 425), 'en': (704, 381, 866, 425), 'jp': (704, 381, 866, 425), 'tw': (704, 381, 866, 425)}, file={'cn': './assets/cn/smallevent/SEVEND_TASK_GET1_20250320.png', 'en': './assets/cn/smallevent/SEVEND_TASK_GET1_20250320.png', 'jp': './assets/cn/smallevent/SEVEND_TASK_GET1_20250320.png', 'tw': './assets/cn/smallevent/SEVEND_TASK_GET1_20250320.png'}) diff --git a/module/smallevent/samllevent.py b/module/smallevent/samllevent.py index de59b169c..29d3518f6 100644 --- a/module/smallevent/samllevent.py +++ b/module/smallevent/samllevent.py @@ -275,9 +275,8 @@ class SmallEvent(UI): if self.appear_then_click(GET_ITEMS_1,offset=(10, 10), interval=1): continue - def goto_sevenD_page(self,page_area,orc_api): + def goto_sevenD_page(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True): self.ui_ensure(page_main) - skip_first_screenshot = True CLICK_COUNT = 0 NOCLICK_COUNT = 0 NOCLICK_TIMER =Timer(3,count=10) @@ -354,6 +353,54 @@ class SmallEvent(UI): break return False,None + def goto_sevenD_page_v2(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True):#for the event prepare page + self.ui_ensure(page_main) + NOCLICK_COUNT = 0 + NOCLICK_TIMER =Timer(3,count=10) + while 1: + if skip_first_screenshot: + skip_first_screenshot = False + else: + self.device.screenshot() + if self.appear_then_click(EVENT_PREPARE_ENTRY, offset=(5, 5), interval=3): + continue + + if self.appear(EVENT_PREPARE_PAGE, offset=(5,5)): + all_words = self.recognize_activity_page(self.device.image,page_area,orc_api) + # all_words = None + if not all_words: + event_pre_button_location = self.locate_button_by_text(self.device.image, button_text, exclude_text, page_area,interval=5,orc_api=orc_api) + if isinstance(event_pre_button_location, dict): + event_pre_button = self.location_2_button(event_pre_button_location, button_text, base_loc=page_area) + self.device.click(event_pre_button) + self.device.sleep(0.3) + continue + elif event_pre_button_location == "cooldowning": + # 冷却中,等待 + continue + else: + # 未找到按钮,跳出循环或进行其他处理 + logger.warning(f"未找到{button_text}按钮") + break + else: + go_count = self.recognize_activiy_status(all_words) + if go_count >= 2: + logger.warning("七天小任务当前没有可领取项") + return "no_get",all_words + return True,all_words + + if self.story_skip(): #the prepare page may appear story + continue + + NOCLICK_TIMER.start() + if NOCLICK_TIMER.reached(): + NOCLICK_COUNT += 1 + NOCLICK_TIMER.reset() + if NOCLICK_COUNT >= 5: + logger.info("GOTO_SEVEND_TASK No click TIMER REACHED") + break + return False,None + def ocr_api_init(self): if self.config.Smallevent_OcrModel == "baidu": if self.config.DropRecord_BaiduAPIKey != "null" and self.config.DropRecord_BaiduAPISecret != "null": @@ -372,48 +419,34 @@ class SmallEvent(UI): else: logger.warning("未配置OcrModel") return False - + + def sevenD_harvest(self, page_area, ORC_API, goto_sevenD_page_func, button_text=None,exclude_text=None): + goPage_result = goto_sevenD_page_func(page_area, ORC_API, button_text,exclude_text) + if goPage_result[0] == "no_get": + self.resolve_task(goPage_result[1]) + elif goPage_result[0] is True: + self.get_reward(page_area, ORC_API) + if self.resolve_task(goPage_result[1]): + logger.info("resolved the task, skip the update immediately") + # return True + if self.config.Smallevent_UpdateInfoImmediately == True: + self.device.sleep(1) + self.device.screenshot() + update_words = self.recognize_activity_page(self.device.image,page_area ,ORC_API) + if update_words: + self.recognize_activiy_status(update_words) + else: + logger.warning("未成功进入七天小任务页面") + def run(self): - # # LogRes(self.config).SevenDayStatus += 11 - # # logger.hr(LogRes(self.config).SevenDayStatus) - # # logger.hr(self.config.cross_get('Dashboard.SevenDayStatus.Value')) - # if self.config.Smallevent_SevenDayTask == True: - # task_icon = f"SEVEND_TASK_{self.SEVEND_DATE}" - # task_get1 = f"SEVEND_TASK_GET1_{self.SEVEND_DATE}" - # task_get2 = f"SEVEND_TASK_GET2_{self.SEVEND_DATE}" - # task_finish = f"SEVEND_TASK_FINISH_{self.SEVEND_DATE}" - # # task_unget1 = f"SEVEND_TASK_UNGET1_{self.SEVEND_DATE}" - # # task_unget2 = f"SEVEND_TASK_UNGET2_{self.SEVEND_DATE}" - # self.SevenDayTask( - # SEVEND_TASK_ICON_MAIN=globals()[task_icon], - # SEVEND_TASK_GET1=globals()[task_get1], - # SEVEND_TASK_GET2=globals()[task_get2], - # SEVEND_TASK_FINISH=globals()[task_finish], - # # SEVEND_TASK_UNGET1=globals()[task_unget1], - # # SEVEND_TASK_UNGET2=globals()[task_unget2] - # ) - # else:LogRes(self.config).SevenDayStatus = 0 if datetime.now() < datetime(2025, 9, 25, 12, 0, 0):#eventSet ORC_API = self.ocr_api_init() if ORC_API: page_area = (281, 79, 1254, 560) - # page_area =(0,0,1280,720) - goPage_result = self.goto_sevenD_page(page_area, ORC_API) - if goPage_result[0] == "no_get": - pass - elif goPage_result[0] is True: - self.get_reward(page_area, ORC_API) - if self.resolve_task(goPage_result[1]): - logger.info("resolved the task, skip the update immediately") - # return True - if self.config.Smallevent_UpdateInfoImmediately == True: - self.device.sleep(1) - self.device.screenshot() - update_words = self.recognize_activity_page(self.device.image,page_area ,ORC_API) - if update_words: - self.recognize_activiy_status(update_words) - else: - logger.warning("未成功进入七天小任务页面") + self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page) + page_area = (0, 0, 1280, 720) + self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page_v2, + button_text="的邀约",exclude_text=["无"])#eventSet else: logger.warning("Ocr API 初始化失败") else: diff --git a/module/ui/assets.py b/module/ui/assets.py index eac4533e1..14ad50ea2 100644 --- a/module/ui/assets.py +++ b/module/ui/assets.py @@ -38,6 +38,7 @@ DORM_FEED_CANCEL = Button(area={'cn': (494, 510, 547, 536), 'en': (445, 491, 594 DORM_GOTO_MAIN = Button(area={'cn': (40, 30, 62, 60), 'en': (40, 30, 62, 60), 'jp': (40, 30, 62, 60), 'tw': (40, 30, 62, 60)}, color={'cn': (255, 226, 133), 'en': (255, 226, 133), 'jp': (255, 226, 133), 'tw': (255, 226, 133)}, button={'cn': (40, 30, 62, 60), 'en': (40, 30, 62, 60), 'jp': (40, 30, 62, 60), 'tw': (40, 30, 62, 60)}, file={'cn': './assets/cn/ui/DORM_GOTO_MAIN.png', 'en': './assets/en/ui/DORM_GOTO_MAIN.png', 'jp': './assets/jp/ui/DORM_GOTO_MAIN.png', 'tw': './assets/tw/ui/DORM_GOTO_MAIN.png'}) DORM_INFO = Button(area={'cn': (1071, 609, 1142, 640), 'en': (1072, 620, 1142, 632), 'jp': (1073, 615, 1140, 644), 'tw': (1070, 609, 1143, 642)}, color={'cn': (155, 182, 220), 'en': (146, 177, 214), 'jp': (157, 185, 222), 'tw': (149, 180, 223)}, button={'cn': (1071, 609, 1142, 640), 'en': (1072, 620, 1142, 632), 'jp': (1073, 615, 1140, 644), 'tw': (1070, 609, 1143, 642)}, file={'cn': './assets/cn/ui/DORM_INFO.png', 'en': './assets/en/ui/DORM_INFO.png', 'jp': './assets/jp/ui/DORM_INFO.png', 'tw': './assets/tw/ui/DORM_INFO.png'}) DORM_TROPHY_CONFIRM = Button(area={'cn': (590, 473, 690, 508), 'en': (589, 470, 689, 510), 'jp': (588, 472, 689, 509), 'tw': (590, 473, 690, 508)}, color={'cn': (245, 167, 88), 'en': (233, 161, 87), 'jp': (243, 166, 89), 'tw': (245, 167, 88)}, button={'cn': (590, 473, 690, 508), 'en': (589, 470, 689, 510), 'jp': (588, 472, 689, 509), 'tw': (590, 473, 690, 508)}, file={'cn': './assets/cn/ui/DORM_TROPHY_CONFIRM.png', 'en': './assets/en/ui/DORM_TROPHY_CONFIRM.png', 'jp': './assets/jp/ui/DORM_TROPHY_CONFIRM.png', 'tw': './assets/tw/ui/DORM_TROPHY_CONFIRM.png'}) +EVENTPRE_GOTO_MAIN = Button(area={'cn': (1218, 17, 1261, 60), 'en': (1218, 17, 1261, 60), 'jp': (1218, 17, 1261, 60), 'tw': (1218, 17, 1261, 60)}, color={'cn': (215, 215, 215), 'en': (215, 215, 215), 'jp': (215, 215, 215), 'tw': (215, 215, 215)}, button={'cn': (1218, 17, 1261, 60), 'en': (1218, 17, 1261, 60), 'jp': (1218, 17, 1261, 60), 'tw': (1218, 17, 1261, 60)}, file={'cn': './assets/cn/ui/EVENTPRE_GOTO_MAIN.png', 'en': './assets/cn/ui/EVENTPRE_GOTO_MAIN.png', 'jp': './assets/cn/ui/EVENTPRE_GOTO_MAIN.png', 'tw': './assets/cn/ui/EVENTPRE_GOTO_MAIN.png'}) EVENT_CHECK = Button(area={'cn': (123, 63, 206, 109), 'en': (123, 63, 206, 109), 'jp': (123, 63, 206, 109), 'tw': (123, 63, 206, 109)}, color={'cn': (88, 104, 138), 'en': (88, 104, 138), 'jp': (88, 104, 138), 'tw': (88, 104, 138)}, button={'cn': (123, 63, 206, 109), 'en': (123, 63, 206, 109), 'jp': (123, 63, 206, 109), 'tw': (123, 63, 206, 109)}, file={'cn': './assets/cn/ui/EVENT_CHECK.png', 'en': './assets/en/ui/EVENT_CHECK.png', 'jp': './assets/jp/ui/EVENT_CHECK.png', 'tw': './assets/tw/ui/EVENT_CHECK.png'}) EVENT_LIST_CHECK = Button(area={'cn': (123, 15, 232, 39), 'en': (123, 15, 223, 39), 'jp': (122, 14, 233, 39), 'tw': (123, 15, 232, 39)}, color={'cn': (151, 166, 206), 'en': (109, 122, 163), 'jp': (86, 96, 131), 'tw': (166, 181, 216)}, button={'cn': (123, 15, 232, 39), 'en': (123, 15, 223, 39), 'jp': (122, 14, 233, 39), 'tw': (123, 15, 232, 39)}, file={'cn': './assets/cn/ui/EVENT_LIST_CHECK.png', 'en': './assets/en/ui/EVENT_LIST_CHECK.png', 'jp': './assets/jp/ui/EVENT_LIST_CHECK.png', 'tw': './assets/tw/ui/EVENT_LIST_CHECK.png'}) EXERCISE_CHECK = Button(area={'cn': (1065, 340, 1204, 382), 'en': (1078, 343, 1190, 382), 'jp': (1063, 339, 1205, 382), 'tw': (1066, 342, 1203, 381)}, color={'cn': (129, 166, 220), 'en': (138, 174, 225), 'jp': (130, 165, 219), 'tw': (138, 172, 222)}, button={'cn': (1065, 340, 1204, 382), 'en': (1078, 343, 1190, 382), 'jp': (1063, 339, 1205, 382), 'tw': (1066, 342, 1203, 381)}, file={'cn': './assets/cn/ui/EXERCISE_CHECK.png', 'en': './assets/en/ui/EXERCISE_CHECK.png', 'jp': './assets/jp/ui/EXERCISE_CHECK.png', 'tw': './assets/tw/ui/EXERCISE_CHECK.png'}) diff --git a/module/ui/page.py b/module/ui/page.py index fbc1e5cf7..a40f1f2ad 100644 --- a/module/ui/page.py +++ b/module/ui/page.py @@ -8,7 +8,7 @@ from module.retire.assets import DOCK_CHECK,IN_RETIREMENT_CHECK from module.ui.assets import * from module.ui_white.assets import * from module.ship_ir.assets import HANDBOOK_CHECK,MAIN_GOTO_COLLECTION,MAIN_GOTO_COLLECTION_WHITE,COLLECTION_CHECK,COLLECTION_GOTO_HANDBOOK - +from module.smallevent.assets import EVENT_PREPARE_PAGE,EVENT_PREPARE_ENTRY class Page: # Key: str, page name like "page_main" # Value: Page, page instance @@ -357,3 +357,7 @@ page_rpg_city.link(button=RPG_HOME, destination=page_main) page_hospital = Page(HOSIPITAL_CHECK) page_hospital.link(button=GOTO_MAIN_WHITE, destination=page_main) page_campaign_menu.link(button=CAMPAIGN_MENU_GOTO_EVENT, destination=page_hospital) + +#event prepare page +page_event_prepare = Page(EVENT_PREPARE_PAGE) +page_event_prepare.link(button=EVENTPRE_GOTO_MAIN, destination=page_main) \ No newline at end of file