From ee87f9225251cd6ee9607e7e117d69faedae95cb Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:51:36 +0000 Subject: [PATCH] perf: momotalk --- tasks/momotalk/momotalk.py | 2 +- tasks/momotalk/ui.py | 15 ++------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/tasks/momotalk/momotalk.py b/tasks/momotalk/momotalk.py index 35f4974..5d9e3ac 100644 --- a/tasks/momotalk/momotalk.py +++ b/tasks/momotalk/momotalk.py @@ -33,7 +33,7 @@ class MomoTalk(MomoTalkUI): return MomoTalkStatus.OPEN case MomoTalkStatus.STORY: if self.skip_story(): - return MomoTalkStatus.OPEN + return MomoTalkStatus.CHAT case MomoTalkStatus.FINISHED: return status case _: diff --git a/tasks/momotalk/ui.py b/tasks/momotalk/ui.py index b89579c..647dabc 100644 --- a/tasks/momotalk/ui.py +++ b/tasks/momotalk/ui.py @@ -33,6 +33,7 @@ class MomoTalkUI(UI): super().__init__(config, device) self.swipe_vector_range = (0.65, 0.85) self.list = CHAT_AREA + self.click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) def swipe_page(self, direction: str, main: ModuleBase, vector_range=None, reverse=False): """ @@ -58,16 +59,6 @@ class MomoTalkUI(UI): vector = (-vector[0], -vector[1]) main.device.swipe_vector(vector, self.list.button) - def select_then_check(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper, similarity=0.85): - timer = Timer(5, 10).start() - while 1: - self.device.screenshot() - self.appear_then_click(dest_enter, interval=1, similarity=similarity) - if self.appear(dest_check, similarity=similarity): - return True - if timer.reached(): - return False - def select_then_disappear(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper): timer = Timer(5, 10).start() while 1: @@ -94,10 +85,8 @@ class MomoTalkUI(UI): def click_all(self, template, x_add=0, y_add=0): """ Find the all the locations of the template adding an offset if specified and click them. - TODO: filter coords that are not inside the chat area as otherwise it will close momotalk. If after filter, no coords then swipe. """ - click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) image = self.device.screenshot() result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED) threshold = 0.8 @@ -109,7 +98,7 @@ class MomoTalkUI(UI): if seen: if y_add != 0: seen = filter(lambda x: point_in_area(x, CHAT_AREA.area), seen) - [click_coords(coords[0], coords[1]) for coords in seen] + [self.click_coords(coords[0], coords[1]) for coords in seen] self.swipe_page("down", self) return True return False