1
0
mirror of https://github.com/TheFunny/ArisuAutoSweeper synced 2025-12-16 13:25:13 +00:00
ArisuAutoSweeper/tasks/base/popup.py

90 lines
2.5 KiB
Python

from module.base.base import ModuleBase
from module.base.timer import Timer
from tasks.base.assets.assets_base_popup import *
from tasks.base.assets.assets_base_page import LOADING_CHECK
class PopupHandler(ModuleBase):
def handle_loading(self) -> bool:
"""
Args:
interval:
Returns:
If handled.
"""
if self.appear(LOADING_CHECK):
timer = Timer(0.5).start()
while 1:
if timer.reached_and_reset():
self.device.screenshot()
if self.appear(LOADING_CHECK):
self.device.stuck_record_clear()
continue
else:
break
return True
return False
def handle_reward(self, interval=5) -> bool:
"""
Args:
interval:
Returns:
If handled.
"""
if self.appear_then_click(GET_REWARD, interval=interval):
timer = Timer(0.2).start()
while 1:
if timer.reached_and_reset():
self.device.screenshot()
if self.appear(GET_REWARD):
self.device.click(GET_REWARD)
else:
break
return True
return False
def handle_reward_skip(self, interval=5) -> bool:
if self.appear_then_click(GET_REWARD_SKIP, interval=interval):
return True
def handle_daily_news(self, interval=2) -> bool:
if self.appear_then_click(DAILY_NEWS, interval=interval):
return True
return False
def handle_daily_reward(self, interval=2) -> bool:
if self.appear_then_click(DAILY_REWARD, interval=interval):
return True
return False
def handle_network_reconnect(self, interval=5) -> bool:
if self.appear_then_click(NETWORK_RECONNECT, interval=interval):
return True
return False
def handle_affection_level_up(self) -> bool:
if self.appear_then_click(AFFECTION_LEVEL_UP):
while 1:
self.device.screenshot()
if self.appear(AFFECTION_LEVEL_UP):
self.click_with_interval(AFFECTION_LEVEL_UP, interval=1)
else:
break
return True
return False
def handle_new_student(self, interval=5) -> bool:
if self.appear_then_click(GET_NEW_STUDENT, interval=interval):
return True
return False