2020-04-10 14:18:10 +08:00
|
|
|
from module.base.timer import Timer
|
2020-05-15 14:18:14 +08:00
|
|
|
from module.combat.combat import Combat
|
2020-04-16 14:39:31 +08:00
|
|
|
from module.handler.assets import *
|
2020-05-15 14:18:14 +08:00
|
|
|
from module.logger import logger
|
2020-04-12 13:54:06 +08:00
|
|
|
from module.ui.ui import MAIN_CHECK, EVENT_LIST_CHECK, BACK_ARROW
|
2020-04-10 14:18:10 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class LoginHandler(Combat):
|
|
|
|
|
def handle_app_login(self):
|
|
|
|
|
logger.hr('App login')
|
|
|
|
|
|
2020-04-28 14:37:13 +08:00
|
|
|
confirm_timer = Timer(1.5, count=4)
|
2020-04-10 14:18:10 +08:00
|
|
|
while 1:
|
|
|
|
|
self.device.screenshot()
|
|
|
|
|
|
|
|
|
|
if self.handle_get_items(save_get_items=False):
|
|
|
|
|
continue
|
|
|
|
|
if self.handle_get_ship():
|
|
|
|
|
continue
|
Add: 适配第一章, 修复大量bug
- 修复处理夜间委托时, 出现递归调用的问题
- 增加红脸出击确认的功能
- 增加了透视识别错误图片保存的开关
- 修复了地图太小时, 透视识别报错的问题
- 修复了相机位于地图外时, 透视识别出错的问题
- 修复了离开退役时, 会连击的问题
- 修复了同时出现低心情和船坞已满弹窗时, 卡住的问题
- 更新了一键退役实装后的安全点击的位置
- 修复了换装滑动失败时, 卡住的问题
- 修复了关闭自动收获后, 出现委托完成的提示是, 进图卡住的问题
- 修复了, 无正在跑的委托时, 报错的问题
2020-04-11 15:23:51 +08:00
|
|
|
if self.appear_then_click(LOGIN_ANNOUNCE, offset=(30, 30), interval=1):
|
2020-04-10 14:18:10 +08:00
|
|
|
continue
|
2020-04-12 13:54:06 +08:00
|
|
|
if self.appear(EVENT_LIST_CHECK, offset=(30, 30), interval=1):
|
|
|
|
|
self.device.click(BACK_ARROW)
|
2020-04-10 14:18:10 +08:00
|
|
|
continue
|
2020-04-16 14:39:31 +08:00
|
|
|
if self.appear_then_click(LOGIN_GAME_UPDATE, offset=(30, 30), interval=1):
|
|
|
|
|
continue
|
|
|
|
|
if self.appear_then_click(LOGIN_RETURN_SIGN, offset=(30, 30), interval=1):
|
|
|
|
|
continue
|
2020-04-10 14:18:10 +08:00
|
|
|
|
|
|
|
|
if self.info_bar_count() and self.appear_then_click(LOGIN_CHECK, interval=0.5):
|
|
|
|
|
logger.info('Login success')
|
|
|
|
|
if self.appear(MAIN_CHECK):
|
2020-04-25 00:11:44 +08:00
|
|
|
if confirm_timer.reached():
|
|
|
|
|
logger.info('Login to main confirm')
|
|
|
|
|
break
|
2020-04-28 22:51:32 +08:00
|
|
|
else:
|
|
|
|
|
confirm_timer.reset()
|
2020-04-10 14:18:10 +08:00
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def app_restart(self):
|
|
|
|
|
logger.hr('App restart')
|
|
|
|
|
self.device.app_stop()
|
|
|
|
|
self.device.app_start()
|
|
|
|
|
self.handle_app_login()
|
|
|
|
|
|
|
|
|
|
def app_ensure_start(self):
|
|
|
|
|
if not self.device.app_is_running():
|
|
|
|
|
self.device.app_start()
|
|
|
|
|
self.handle_app_login()
|
2020-05-06 23:53:25 +08:00
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
return False
|