1
0
mirror of https://github.com/TheFunny/ArisuAutoSweeper synced 2025-12-16 22:05:12 +00:00
ArisuAutoSweeper/tasks/task/task.py
RedDeadDepresso 991831a9c6 feat: tasks
Added module tasks for EN
2023-12-16 23:46:31 +00:00

57 lines
1.5 KiB
Python

from enum import Enum
from module.base.timer import Timer
from module.logger import logger
from tasks.base.page import page_task
from tasks.base.ui import UI
from tasks.task.assets.assets_task import *
class TaskStatus(Enum):
"""
Task status
"""
CLAIM_ALL = 0
CLAIM = 1
FINISHED = -1
class Task(UI):
def _handle_task(self, status):
match status:
case TaskStatus.CLAIM_ALL:
if self.match_color(CLAIM_ALL):
self.device.click(CLAIM_ALL)
logger.info("Click Claim All")
else:
return TaskStatus.CLAIM
case TaskStatus.CLAIM:
if self.match_color(CLAIM):
self.device.click(CLAIM)
logger.info("Click Claim")
else:
return TaskStatus.FINISHED
case _:
logger.warning(f"Invalid status: {status}")
return status
def run(self):
self.ui_ensure(page_task)
status = TaskStatus.CLAIM_ALL
action_timer = Timer(0.5)
while 1:
self.device.screenshot()
if self.ui_additional():
continue
if action_timer.reached_and_reset():
logger.attr('Status', status)
status = self._handle_task(status)
if status is TaskStatus.FINISHED:
break
self.config.task_delay(server_update=True)