1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-26 12:47:53 +08:00

Upd: Flagship changing (#3556)

* Upd: Flagship changing asset

* Upd: Equipment enter

* Upd: Fleet detail check

* Refactor: equipment changing

* Upd: asset exercise/EQUIP_ENTER

* Refactor: rename equipment functions

* Fix: avoid GameTooManyClickError when EQUIPMENT_SCROLL disappears

* Upd: [CN] assets EQUIP_1/2/3

* Fix: skip first screenshot in equipment.py
This commit is contained in:
Air111
2024-04-19 01:40:40 +08:00
committed by GitHub
parent 27693a6762
commit 2507b0fa6b
39 changed files with 211 additions and 215 deletions

View File

@@ -1,6 +1,5 @@
from module.equipment.assets import *
from module.equipment.equipment import Equipment
from module.logger import logger
from module.equipment.equipment_change import EquipmentChange
from module.ocr.ocr import Digit
from module.ui.assets import FLEET_CHECK
from module.ui.page import page_fleet
@@ -8,40 +7,31 @@ from module.ui.page import page_fleet
OCR_FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456')
class DailyEquipment(Equipment):
equipment_has_take_on = False
@property
def _fleet_daily(self):
fleet = self.config.FLEET_DAILY
if isinstance(fleet, list):
logger.info(f'Multiple daily fleets are set, change equipment only for the first one. fleet: {fleet}')
return fleet[0]
else:
return fleet
def equipment_take_on(self):
if self.config.FLEET_DAILY_EQUIPMENT is None:
return False
if self.equipment_has_take_on:
return False
class FleetEquipment(EquipmentChange):
def fleet_enter(self, fleet):
self.ui_ensure(page_fleet)
self.ui_ensure_index(self._fleet_daily, letter=OCR_FLEET_INDEX, next_button=FLEET_NEXT, prev_button=FLEET_PREV)
super().equipment_take_on(enter=FLEET_ENTER, out=FLEET_CHECK, fleet=self.config.FLEET_DAILY_EQUIPMENT)
self.equipment_has_take_on = True
self.device.sleep(1)
return True
self.ui_ensure_index(fleet, letter=OCR_FLEET_INDEX,
next_button=FLEET_NEXT, prev_button=FLEET_PREV, skip_first_screenshot=True)
def equipment_take_off(self):
if self.config.FLEET_DAILY_EQUIPMENT is None:
return False
if not self.equipment_has_take_on:
return False
def fleet_equipment_take_on_preset(self, preset_record, enter=FLEET_DETAIL_ENTER_FLAGSHIP,
long_click=False, out=FLEET_DETAIL_CHECK):
self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button,
check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True)
super().fleet_equipment_take_on_preset(preset_record=preset_record, enter=FLEET_DETAIL_ENTER_FLAGSHIP,
long_click=False, out=FLEET_DETAIL_CHECK)
self.ui_back(FLEET_CHECK)
self.ui_ensure(page_fleet)
self.ui_ensure_index(self._fleet_daily, letter=OCR_FLEET_INDEX, next_button=FLEET_NEXT, prev_button=FLEET_PREV)
super().equipment_take_off(enter=FLEET_ENTER, out=FLEET_CHECK, fleet=self.config.FLEET_DAILY_EQUIPMENT)
self.equipment_has_take_on = False
self.device.sleep(1)
return True
def fleet_equipment_take_off(self, enter=FLEET_DETAIL_ENTER_FLAGSHIP, long_click=False, out=FLEET_DETAIL_CHECK):
self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button,
check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True)
super().fleet_equipment_take_off(enter=enter, long_click=long_click, out=out)
self.ui_back(FLEET_CHECK)
def fleet_enter_ship(self, button):
self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button,
check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True)
self.ship_info_enter(button, long_click=False)
def fleet_back(self):
self.ui_back(FLEET_DETAIL_CHECK)
self.ui_back(FLEET_CHECK)