mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-20 10:29:28 +08:00
compatibility: FleetEquipment, EquipmentChange, Equipment, Dock
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
from module.base.button import ButtonGrid
|
||||
from module.base.decorator import cached_property
|
||||
from module.base.timer import Timer
|
||||
from module.base.utils import ApiCollectionSwitch
|
||||
from module.config.config import AzurLaneConfig
|
||||
from module.device.device import Device
|
||||
from module.equipment.assets import *
|
||||
from module.logger import logger
|
||||
from module.retire.assets import DOCK_CHECK
|
||||
@@ -574,12 +577,97 @@ def equip_redirect_inherit_to_old() -> bool:
|
||||
return False
|
||||
|
||||
|
||||
class Equipment(EquipmentOld if equip_redirect_inherit_to_old() else EquipmentOld):
|
||||
def __init__(self, *args, **kwargs):
|
||||
if isinstance(self, EquipmentOld):
|
||||
logger.info("use EquipmentOld")
|
||||
elif isinstance(self, EquipmentNew):
|
||||
logger.info("use EquipmentNew")
|
||||
else:
|
||||
raise NameError("unknown inherit")
|
||||
super().__init__(*args, **kwargs)
|
||||
class Equipment(StorageHandler, ApiCollectionSwitch):
|
||||
def __init__(self, config, device=None, task=None):
|
||||
conf = AzurLaneConfig.build_azurlane_config(config, task)
|
||||
dev = Device.build_device(conf, device)
|
||||
|
||||
self.equipment_old: EquipmentOld = EquipmentOld(config=conf, device=dev, task=task)
|
||||
self.equipment_new: EquipmentNew = EquipmentNew(config=conf, device=dev, task=task)
|
||||
StorageHandler.__init__(self, config=conf, device=dev, task=task)
|
||||
ApiCollectionSwitch.__init__(self, self.equipment_old, self.equipment_new)
|
||||
|
||||
'''
|
||||
EquipmentOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.equipment_old.equipment_has_take_on
|
||||
|
||||
def equipping_set(self, enable=False):
|
||||
return self.equipment_old.equipping_set(enable=enable)
|
||||
|
||||
def _equip_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_old._equip_view_swipe(distance=distance, check_button=check_button)
|
||||
|
||||
def equip_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_old.equip_view_next(check_button=check_button)
|
||||
|
||||
def equip_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_old.equip_view_prev(check_button=check_button)
|
||||
|
||||
def equip_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.equipment_old.equip_enter(click_button, check_button, long_click, skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _equip_side_navbar(self):
|
||||
return self.equipment_old._equip_side_navbar
|
||||
|
||||
def equip_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.equipment_old.equip_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def _equip_take_off_one(self, skip_first_screenshot=True):
|
||||
return self.equipment_old._equip_take_off_one(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def equipment_take_off(self, enter, out, fleet):
|
||||
return self.equipment_old.equipment_take_off(enter, out, fleet)
|
||||
|
||||
def _equip_take_on_one(self, index, skip_first_screenshot=True):
|
||||
return self.equipment_old._equip_take_on_one(index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def equipment_take_on(self, enter, out, fleet):
|
||||
return self.equipment_old.equipment_take_off(enter, out, fleet)
|
||||
|
||||
'''
|
||||
EquipmentNew
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.equipment_new.equipment_has_take_on
|
||||
|
||||
def _ship_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_new._ship_view_swipe(distance=distance, check_button=check_button)
|
||||
|
||||
def ship_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_new.ship_view_next(check_button=check_button)
|
||||
|
||||
def ship_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_new.ship_view_next(check_button=check_button)
|
||||
|
||||
def ship_info_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.equipment_new.ship_info_enter(click_button=click_button, check_button=check_button, skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _ship_side_navbar(self):
|
||||
return self.equipment_new._ship_side_navbar
|
||||
|
||||
def ship_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.equipment_new.ship_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def ship_equipment_take_off(self, skip_first_screenshot=True):
|
||||
return self.equipment_new.ship_equipment_take_off(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_off(self, enter, long_click, out):
|
||||
return self.equipment_new.fleet_equipment_take_off(enter, long_click, out)
|
||||
|
||||
def ship_equipment_take_on_preset(self, index, skip_first_screenshot=True):
|
||||
return self.equipment_new.ship_equipment_take_off(index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_on_preset(self, preset_record, enter, long_click, out):
|
||||
return self.equipment_new.fleet_equipment_take_on_preset(preset_record, enter, long_click, out)
|
||||
|
||||
'''
|
||||
Public
|
||||
'''
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import gl
|
||||
from module.base.button import ButtonGrid
|
||||
from module.base.decorator import Config
|
||||
from module.base.decorator import Config, cached_property
|
||||
from module.base.utils import *
|
||||
from module.config.config import AzurLaneConfig
|
||||
from module.device.device import Device
|
||||
from module.equipment.assets import *
|
||||
from module.equipment.assets_override import equip_assets_override
|
||||
from module.equipment.equipment import Equipment
|
||||
from module.equipment.equipment import Equipment, EquipmentOld, EquipmentNew
|
||||
from module.logger import logger
|
||||
from module.storage.storage import StorageHandler
|
||||
from module.ui.assets import BACK_ARROW
|
||||
from module.ui.scroll import Scroll
|
||||
from module.ui.switch import Switch
|
||||
@@ -24,7 +27,7 @@ equipping_filter.add_state('on', check_button=EQUIPPING_ON)
|
||||
equipping_filter.add_state('off', check_button=EQUIPPING_OFF)
|
||||
|
||||
|
||||
class EquipmentChangeOld(Equipment):
|
||||
class EquipmentChangeOld(EquipmentOld):
|
||||
equip_list = {}
|
||||
equipping_list = []
|
||||
|
||||
@@ -174,7 +177,7 @@ class EquipmentChangeOld(Equipment):
|
||||
return
|
||||
|
||||
|
||||
class EquipmentChangeNew(Equipment):
|
||||
class EquipmentChangeNew(EquipmentNew):
|
||||
equipment_list = {}
|
||||
|
||||
@equip_assets_override("new")
|
||||
@@ -315,12 +318,176 @@ class EquipmentChangeNew(Equipment):
|
||||
return
|
||||
|
||||
|
||||
class EquipmentChange(EquipmentChangeOld if gl.gl_get("g_current_task", "") == "GemsFarming" else EquipmentChangeOld):
|
||||
def __init__(self, *args, **kwargs):
|
||||
if isinstance(self, EquipmentChangeOld):
|
||||
logger.info("use EquipmentChangeOld")
|
||||
elif isinstance(self, EquipmentChangeNew):
|
||||
logger.info("use EquipmentChangeNew")
|
||||
class EquipmentChange(StorageHandler, ApiCollectionSwitch):
|
||||
def __init__(self, config, device=None, task=None):
|
||||
conf = AzurLaneConfig.build_azurlane_config(config, task)
|
||||
dev = Device.build_device(conf, device)
|
||||
|
||||
self.equipment_change_old: EquipmentChangeOld = EquipmentChangeOld(config=conf, device=dev, task=task)
|
||||
self.equipment_change_new: EquipmentChangeNew = EquipmentChangeNew(config=conf, device=dev, task=task)
|
||||
StorageHandler.__init__(self, config=conf, device=dev, task=task)
|
||||
ApiCollectionSwitch.__init__(self, self.equipment_change_old, self.equipment_change_new)
|
||||
|
||||
'''
|
||||
EquipmentChangeOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equip_list(self):
|
||||
return self.equipment_change_old.equip_list
|
||||
|
||||
@cached_property
|
||||
def equipping_list(self):
|
||||
return self.equipment_change_old.equipping_list
|
||||
|
||||
def get_equiping_list(self, skip_first_screenshot=True):
|
||||
return self.equipment_change_old.get_equiping_list(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def record_equipment(self, index_list=range(0, 5)):
|
||||
return self.equipment_change_old.record_equipment(index_list=index_list)
|
||||
|
||||
def equipment_take_on(self, *args, **kwargs):
|
||||
if "index_list" in kwargs or "skip_first_screenshot" in kwargs:
|
||||
return EquipmentChangeOld.equipment_take_on(self.equipment_change_old, *args, **kwargs)
|
||||
else:
|
||||
raise NameError("unknown inherit")
|
||||
super().__init__(*args, **kwargs)
|
||||
return EquipmentOld.equipment_take_on(self.equipment_change_old, *args, **kwargs)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD='minitouch')
|
||||
def _equipment_swipe(self, distance=190):
|
||||
return self.equipment_change_old._equipment_swipe(distance=distance)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD=None)
|
||||
def _equipment_swipe(self, distance=300):
|
||||
return self.equipment_change_old._equipment_swipe(distance=distance)
|
||||
|
||||
# def _equip_equipment(self, point, offset=(100, 100)):
|
||||
# return self.equipment_change_old._equip_equipment(point, offset=offset)
|
||||
|
||||
def _find_equip(self, index):
|
||||
return self.equipment_change_old._find_equip(index)
|
||||
|
||||
'''
|
||||
EquipmentChangeOld.EquipmentOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.equipment_change_old.equipment_has_take_on
|
||||
|
||||
'''in Public section'''
|
||||
# def equipping_set(self, enable=False):
|
||||
# return self.equipment_change_old.equipping_set(enable=enable)
|
||||
|
||||
def _equip_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_old._equip_view_swipe(distance=distance, check_button=check_button)
|
||||
|
||||
def equip_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_old.equip_view_next(check_button=check_button)
|
||||
|
||||
def equip_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_old.equip_view_prev(check_button=check_button)
|
||||
|
||||
def equip_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.equipment_change_old.equip_enter(click_button=click_button, check_button=check_button, long_click=long_click, skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _equip_side_navbar(self):
|
||||
return self.equipment_change_old._equip_side_navbar
|
||||
|
||||
def equip_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.equipment_change_old.equip_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def _equip_take_off_one(self, skip_first_screenshot=True):
|
||||
return self.equipment_change_old._equip_take_off_one(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def equipment_take_off(self, enter, out, fleet):
|
||||
return self.equipment_change_old.equipment_take_off(enter, out, fleet)
|
||||
|
||||
def _equip_take_on_one(self, index, skip_first_screenshot=True):
|
||||
return self.equipment_change_old._equip_take_on_one(index=index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in EquipmentChangeOld section'''
|
||||
# def equipment_take_on(self, enter, out, fleet):
|
||||
# return self.equipment_change_old.equipment_take_on(enter, out, fleet)
|
||||
|
||||
'''
|
||||
EquipmentChangeNew
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_list(self):
|
||||
return self.equipment_change_new.equipment_list
|
||||
|
||||
'''in Public section'''
|
||||
# def equipping_set(self, enable=False):
|
||||
# return self.equipment_change_new.equipping_set(enable=enable)
|
||||
|
||||
def ship_equipment_record_image(self, index_list=range(0, 5)):
|
||||
return self.equipment_change_new.ship_equipment_record_image(index_list=index_list)
|
||||
|
||||
def ship_equipment_take_on_image(self, index_list=range(0, 5), skip_first_screenshot=True):
|
||||
return self.equipment_change_new.ship_equipment_take_on_image(index_list=index_list, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD='minitouch')
|
||||
def _equipment_swipe(self, distance=190):
|
||||
return self.equipment_change_new._equipment_swipe(distance=distance)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD=None)
|
||||
def _equipment_swipe(self, distance=300):
|
||||
return self.equipment_change_new._equipment_swipe(distance=distance)
|
||||
|
||||
'''in Public section'''
|
||||
# def _equip_equipment(self, point, offset=(100, 100)):
|
||||
# return self.equipment_change_new._equip_equipment(point, offset=offset)
|
||||
|
||||
def _find_equipment(self, index):
|
||||
return self.equipment_change_new._find_equipment(index)
|
||||
|
||||
'''
|
||||
EquipmentChangeNew.EquipmentNew
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.equipment_change_new.equipment_has_take_on
|
||||
|
||||
def _ship_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_new._ship_view_swipe(distance=distance, check_button=check_button)
|
||||
|
||||
def ship_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_new.ship_view_next(check_button=check_button)
|
||||
|
||||
def ship_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.equipment_change_new.ship_view_prev(check_button=check_button)
|
||||
|
||||
def ship_info_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.equipment_change_new.ship_info_enter(click_button=click_button, check_button=check_button, long_click=long_click, skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _ship_side_navbar(self):
|
||||
return self.equipment_change_new._ship_side_navbar
|
||||
|
||||
def ship_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.equipment_change_new.ship_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def ship_equipment_take_off(self, skip_first_screenshot=True):
|
||||
return self.equipment_change_new.ship_equipment_take_off(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_off(self, enter, long_click, out):
|
||||
return self.equipment_change_new.fleet_equipment_take_off(enter, long_click, out)
|
||||
|
||||
def ship_equipment_take_on_preset(self, index, skip_first_screenshot=True):
|
||||
return self.equipment_change_new.ship_equipment_take_on_preset(index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_on_preset(self, preset_record, enter, long_click, out):
|
||||
return self.equipment_change_new.fleet_equipment_take_on_preset(preset_record, enter, long_click, out)
|
||||
|
||||
'''
|
||||
Public
|
||||
'''
|
||||
|
||||
def equipping_set(self, enable=False):
|
||||
return self.current_use.equipping_set(enable=enable)
|
||||
|
||||
def _equip_equipment(self, point, offset=(100, 100)):
|
||||
return self.current_use._equip_equipment(point, offset=offset)
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
import gl
|
||||
from module.base.decorator import cached_property, Config
|
||||
from module.base.utils import ApiCollectionSwitch
|
||||
from module.equipment.assets import *
|
||||
from module.equipment.equipment import Equipment
|
||||
from module.equipment.equipment_change import EquipmentChange
|
||||
from module.equipment.equipment import Equipment, EquipmentOld
|
||||
from module.equipment.equipment_change import EquipmentChange, EquipmentChangeOld, EquipmentChangeNew
|
||||
from module.logger import logger
|
||||
from module.ocr.ocr import Digit
|
||||
from module.storage.storage import StorageHandler
|
||||
from module.ui.assets import FLEET_CHECK
|
||||
from module.ui.page import page_fleet
|
||||
from module.config.config import AzurLaneConfig
|
||||
from module.device.device import Device
|
||||
from collections import deque
|
||||
|
||||
OCR_FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456')
|
||||
|
||||
|
||||
class DailyEquipment(Equipment):
|
||||
class DailyEquipment(EquipmentChangeOld):
|
||||
equipment_has_take_on = False
|
||||
|
||||
@property
|
||||
@@ -49,7 +55,7 @@ class DailyEquipment(Equipment):
|
||||
return True
|
||||
|
||||
|
||||
class FleetEquipmentNew(EquipmentChange):
|
||||
class FleetEquipmentNew(EquipmentChangeNew):
|
||||
def fleet_enter(self, fleet):
|
||||
self.ui_ensure(page_fleet)
|
||||
self.ui_ensure_index(fleet, letter=OCR_FLEET_INDEX,
|
||||
@@ -79,12 +85,169 @@ class FleetEquipmentNew(EquipmentChange):
|
||||
self.ui_back(FLEET_CHECK)
|
||||
|
||||
|
||||
class FleetEquipment(DailyEquipment if gl.gl_get("g_current_task", "") == "GemsFarming" else FleetEquipmentNew):
|
||||
def __init__(self, *args, **kwargs):
|
||||
if isinstance(self, DailyEquipment):
|
||||
logger.info("use DailyEquipment")
|
||||
elif isinstance(self, FleetEquipmentNew):
|
||||
logger.info("use FleetEquipmentNew")
|
||||
class FleetEquipment(StorageHandler, ApiCollectionSwitch):
|
||||
def __init__(self, config, device=None, task=None):
|
||||
conf = AzurLaneConfig.build_azurlane_config(config, task)
|
||||
dev = Device.build_device(conf, device)
|
||||
|
||||
self.fleet_equipment_old: DailyEquipment = DailyEquipment(config=conf, device=dev, task=task)
|
||||
self.fleet_equipment_new: FleetEquipmentNew = FleetEquipmentNew(config=conf, device=dev, task=task)
|
||||
StorageHandler.__init__(self, config=conf, device=dev, task=task)
|
||||
ApiCollectionSwitch.__init__(self, self.fleet_equipment_old, self.fleet_equipment_new)
|
||||
|
||||
'''
|
||||
DailyEquipment
|
||||
'''
|
||||
|
||||
@property
|
||||
def _fleet_daily(self):
|
||||
return self.fleet_equipment_old._fleet_daily
|
||||
|
||||
def equipment_take_on(self, *args, **kwargs):
|
||||
if "index_list" in kwargs or "skip_first_screenshot" in kwargs:
|
||||
return EquipmentChangeOld.equipment_take_on(self.fleet_equipment_old, *args, **kwargs)
|
||||
elif len(args) == 3:
|
||||
return EquipmentOld.equipment_take_off(self.fleet_equipment_old, *args, **kwargs)
|
||||
else:
|
||||
raise NameError("unknown inherit")
|
||||
super().__init__(*args, **kwargs)
|
||||
return self.fleet_equipment_old.equipment_take_on()
|
||||
|
||||
def equipment_take_off(self, *args, **kwargs):
|
||||
if len(args) == 3:
|
||||
return EquipmentOld.equipment_take_off(self.fleet_equipment_old, *args, **kwargs)
|
||||
else:
|
||||
return self.fleet_equipment_old.equipment_take_off()
|
||||
|
||||
'''
|
||||
DailyEquipment.EquipmentChangeOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equip_list(self):
|
||||
return self.fleet_equipment_old.equip_list
|
||||
|
||||
@cached_property
|
||||
def equipping_list(self):
|
||||
return self.fleet_equipment_old.equipping_list
|
||||
|
||||
def get_equiping_list(self, skip_first_screenshot=True):
|
||||
return self.fleet_equipment_old.get_equiping_list(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def record_equipment(self, index_list=range(0, 5)):
|
||||
return self.fleet_equipment_old.record_equipment(index_list)
|
||||
|
||||
'''in DailyEquipment section'''
|
||||
|
||||
# def equipment_take_on(self, index_list=range(0, 5), skip_first_screenshot=True):
|
||||
# ...
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD='minitouch')
|
||||
def _equipment_swipe(self, distance=190):
|
||||
return self.fleet_equipment_old._equipment_swipe(distance)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD=None)
|
||||
def _equipment_swipe(self, distance=300):
|
||||
return self.fleet_equipment_old._equipment_swipe(distance)
|
||||
|
||||
'''in Public section'''
|
||||
|
||||
# def _equip_equipment(self, point, offset=(100, 100)):
|
||||
# ...
|
||||
|
||||
def _find_equip(self, index):
|
||||
return self.fleet_equipment_old._find_equip(index)
|
||||
|
||||
'''
|
||||
DailyEquipment.EquipmentChangeOld.EquipmentOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.fleet_equipment_old.equipment_has_take_on
|
||||
|
||||
def equipping_set(self, enable=False):
|
||||
return self.fleet_equipment_old.equipping_set(enable=enable)
|
||||
|
||||
def _equip_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.fleet_equipment_old._equip_view_swipe(distance=distance, check_button=check_button)
|
||||
|
||||
def equip_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.fleet_equipment_old.equip_view_next(check_button=check_button)
|
||||
|
||||
def equip_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.fleet_equipment_old.equip_view_prev(check_button=check_button)
|
||||
|
||||
def equip_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.fleet_equipment_old.equip_enter(click_button=click_button, check_button=check_button,
|
||||
long_click=long_click, skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _equip_side_navbar(self):
|
||||
return self.fleet_equipment_old._equip_side_navbar
|
||||
|
||||
def equip_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.fleet_equipment_old.equip_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def _equip_take_off_one(self, skip_first_screenshot=True):
|
||||
return self.fleet_equipment_old._equip_take_off_one(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in DailyEquipment section'''
|
||||
|
||||
# def equipment_take_off(self, enter, out, fleet):
|
||||
# ...
|
||||
|
||||
def _equip_take_on_one(self, index, skip_first_screenshot=True):
|
||||
return self.fleet_equipment_old._equip_take_on_one(index=index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in DailyEquipment section'''
|
||||
# def equipment_take_on(self, enter, out, fleet):
|
||||
# ...
|
||||
|
||||
'''
|
||||
FleetEquipmentNew
|
||||
'''
|
||||
|
||||
def fleet_enter(self, fleet):
|
||||
return self.fleet_equipment_new.fleet_enter(fleet)
|
||||
|
||||
def fleet_equipment_take_on_preset(self, preset_record, enter=FLEET_DETAIL_ENTER_FLAGSHIP,
|
||||
long_click=False, out=FLEET_DETAIL_CHECK):
|
||||
return self.fleet_equipment_new.fleet_equipment_take_on_preset(preset_record=preset_record, enter=enter,
|
||||
long_click=long_click, out=out)
|
||||
|
||||
def fleet_equipment_take_off(self, enter=FLEET_DETAIL_ENTER_FLAGSHIP, long_click=False, out=FLEET_DETAIL_CHECK):
|
||||
return self.fleet_equipment_new.fleet_equipment_take_off(enter=enter, long_click=long_click, out=out)
|
||||
|
||||
def fleet_enter_ship(self, button):
|
||||
return self.fleet_equipment_new.fleet_enter_ship(button)
|
||||
|
||||
def fleet_back(self):
|
||||
return self.fleet_equipment_new.fleet_back()
|
||||
|
||||
@cached_property
|
||||
def equipment_list(self):
|
||||
return self.fleet_equipment_new.equipment_list
|
||||
|
||||
def ship_equipment_record_image(self, index_list=range(0, 5)):
|
||||
return self.fleet_equipment_new.ship_equipment_record_image(index_list=index_list)
|
||||
|
||||
def ship_equipment_take_on_image(self, index_list=range(0, 5), skip_first_screenshot=True):
|
||||
return self.fleet_equipment_new.ship_equipment_take_on_image(index_list=index_list,
|
||||
skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD='minitouch')
|
||||
def _equipment_swipe(self, distance=190):
|
||||
return self.fleet_equipment_new._equipment_swipe(distance=distance)
|
||||
|
||||
@Config.when(DEVICE_CONTROL_METHOD=None)
|
||||
def _equipment_swipe(self, distance=300):
|
||||
return self.fleet_equipment_new._equipment_swipe(distance=distance)
|
||||
|
||||
def _find_equipment(self, index):
|
||||
return self.fleet_equipment_new._find_equipment(index)
|
||||
|
||||
'''
|
||||
Public
|
||||
'''
|
||||
|
||||
def _equip_equipment(self, point, offset=(100, 100)):
|
||||
return self.current_use._equip_equipment(point, offset)
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
import module.config.server as server
|
||||
|
||||
import gl
|
||||
from module.base import button
|
||||
from module.base.button import ButtonGrid
|
||||
from module.base.decorator import cached_property
|
||||
from module.base.timer import Timer
|
||||
from module.base.utils import ApiCollectionSwitch
|
||||
from module.config.config import AzurLaneConfig
|
||||
from module.device.device import Device
|
||||
from module.equipment.assets import EQUIPMENT_OPEN
|
||||
from module.logger import logger
|
||||
from module.ocr.ocr import DigitCounter
|
||||
from module.retire.assets import *
|
||||
from module.storage.storage import StorageHandler
|
||||
from module.ui.scroll import Scroll
|
||||
from module.ui.setting import Setting
|
||||
from module.ui.switch import Switch
|
||||
from module.ui.ui import UI
|
||||
from module.equipment.equipment import Equipment
|
||||
from module.equipment.equipment import Equipment, EquipmentOld, EquipmentNew, SWIPE_DISTANCE
|
||||
|
||||
DOCK_SORTING = Switch('Dork_sorting')
|
||||
DOCK_SORTING.add_state('Ascending', check_button=SORT_ASC, click_button=SORTING_CLICK)
|
||||
@@ -36,7 +42,7 @@ DOCK_SCROLL = Scroll(DOCK_SCROLL, color=(247, 211, 66), name='DOCK_SCROLL')
|
||||
OCR_DOCK_SELECTED = DigitCounter(DOCK_SELECTED, threshold=64, name='OCR_DOCK_SELECTED')
|
||||
|
||||
|
||||
class DockOld(Equipment):
|
||||
class DockOld(EquipmentOld):
|
||||
def handle_dock_cards_loading(self):
|
||||
# Poor implementation.
|
||||
self.device.sleep((1, 1.5))
|
||||
@@ -248,7 +254,7 @@ class DockOld(Equipment):
|
||||
continue
|
||||
|
||||
|
||||
class DockNew(Equipment):
|
||||
class DockNew(EquipmentNew):
|
||||
def handle_dock_cards_loading(self):
|
||||
# Poor implementation.
|
||||
self.device.sleep((1, 1.5))
|
||||
@@ -448,12 +454,246 @@ def redirect_inherit_to_old() -> bool:
|
||||
return False
|
||||
|
||||
|
||||
class Dock(DockOld if redirect_inherit_to_old() else DockOld):
|
||||
def __init__(self, *args, **kwargs):
|
||||
if isinstance(self, DockOld):
|
||||
logger.info("use DockOld")
|
||||
elif isinstance(self, DockNew):
|
||||
logger.info("use DockNew")
|
||||
class Dock(StorageHandler, ApiCollectionSwitch):
|
||||
def __init__(self, config, device=None, task=None):
|
||||
conf = AzurLaneConfig.build_azurlane_config(config, task)
|
||||
dev = Device.build_device(conf, device)
|
||||
|
||||
self.dock_old: DockOld = DockOld(config=conf, device=dev, task=task)
|
||||
self.dock_new: DockNew = DockNew(config=conf, device=dev, task=task)
|
||||
StorageHandler.__init__(self, config=conf, device=dev, task=task)
|
||||
ApiCollectionSwitch.__init__(self, self.dock_old, self.dock_new)
|
||||
|
||||
'''
|
||||
DockOld
|
||||
'''
|
||||
|
||||
'''in Public section'''
|
||||
# def handle_dock_cards_loading(self):
|
||||
# return self.dock_old.handle_dock_cards_loading()
|
||||
|
||||
def dock_favourite_set(self, *args, **kwargs):
|
||||
if "wait_loading" in kwargs:
|
||||
return self.dock_old.dock_favourite_set(*args, **kwargs)
|
||||
else:
|
||||
raise NameError("unknown inherit")
|
||||
super().__init__(*args, **kwargs)
|
||||
return self.dock_new.dock_favourite_set(*args, **kwargs)
|
||||
|
||||
'''in Public section'''
|
||||
# def _dock_quit_check_func(self):
|
||||
# return self.dock_old._dock_quit_check_func()
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_quit(self):
|
||||
# return self.dock_old.dock_quit()
|
||||
|
||||
def dock_sort_method_dsc_set(self, *args, **kwargs):
|
||||
if "wait_loading" in kwargs:
|
||||
return self.dock_old.dock_favourite_set(*args, **kwargs)
|
||||
else:
|
||||
return self.dock_new.dock_favourite_set(*args, **kwargs)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_enter(self):
|
||||
# return self.dock_old.dock_filter_enter()
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_confirm(self, wait_loading=True):
|
||||
# return self.dock_old.dock_filter_confirm(wait_loading=wait_loading)
|
||||
|
||||
'''in Public section'''
|
||||
# @cached_property
|
||||
# def dock_filter(self) -> Setting:
|
||||
# return self.dock_old.dock_filter
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_set(
|
||||
# self,
|
||||
# sort='level',
|
||||
# index='all',
|
||||
# faction='all',
|
||||
# rarity='all',
|
||||
# extra='no_limit',
|
||||
# wait_loading=True
|
||||
# ):
|
||||
# return self.dock_old.dock_filter_set()
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_select_one(self, button, skip_first_screenshot=True):
|
||||
# return self.dock_old.dock_select_one(button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_selected(self, skip_first_screenshot=True):
|
||||
# return self.dock_old.dock_selected(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_select_confirm(self, check_button, skip_first_screenshot=True):
|
||||
# return self.dock_old.dock_select_confirm(check_button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''
|
||||
DockOld.EquipmentOld
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.dock_old.equipment_has_take_on
|
||||
|
||||
def equipping_set(self, enable=False):
|
||||
return self.dock_old.equipping_set(enable=enable)
|
||||
|
||||
def _equip_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_old._equip_view_swipe(distance, check_button=check_button)
|
||||
|
||||
def equip_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_old.equip_view_next(check_button=check_button)
|
||||
|
||||
def equip_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_old.equip_view_prev(check_button=check_button)
|
||||
|
||||
def equip_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.dock_old.equip_enter(click_button=click_button, check_button=check_button, long_click=long_click,skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _equip_side_navbar(self):
|
||||
return self.dock_old._equip_side_navbar
|
||||
|
||||
def equip_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.dock_old.equip_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def _equip_take_off_one(self, skip_first_screenshot=True):
|
||||
return self.dock_old._equip_take_off_one(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def equipment_take_off(self, enter, out, fleet):
|
||||
return self.dock_old.equipment_take_off(enter, out, fleet=fleet)
|
||||
|
||||
def _equip_take_on_one(self, index, skip_first_screenshot=True):
|
||||
return self.dock_old._equip_take_on_one(index=index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def equipment_take_on(self, enter, out, fleet):
|
||||
return self.dock_old.equipment_take_on(enter, out, fleet=fleet)
|
||||
|
||||
'''
|
||||
DockNew
|
||||
'''
|
||||
|
||||
'''in Public section'''
|
||||
# def handle_dock_cards_loading(self):
|
||||
# return self.dock_new.handle_dock_cards_loading()
|
||||
|
||||
'''in DockOld section'''
|
||||
# def dock_favourite_set(self, enable=False):
|
||||
# return self.dock_new.dock_favourite_set(enable=enable)
|
||||
|
||||
'''in Public section'''
|
||||
# def _dock_quit_check_func(self):
|
||||
# return self.dock_new._dock_quit_check_func()
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_quit(self):
|
||||
# return self.dock_new.dock_quit()
|
||||
|
||||
'''in DockOld section'''
|
||||
# def dock_sort_method_dsc_set(self, enable=True):
|
||||
# return self.dock_new.dock_sort_method_dsc_set(enable=enable)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_enter(self):
|
||||
# return self.dock_new.dock_filter_enter()
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_confirm(self, wait_loading=True):
|
||||
# return self.dock_new.dock_filter_confirm(wait_loading=wait_loading)
|
||||
|
||||
'''in Public section'''
|
||||
# @cached_property
|
||||
# def dock_filter(self) -> Setting:
|
||||
# return self.dock_new.dock_filter
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_filter_set(self, sort='level', index='all', faction='all', rarity='all', extra='no_limit', wait_loading=True):
|
||||
# return self.dock_new.dock_filter_set(sort, index, faction, rarity, extra, wait_loading)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_select_one(self, button, skip_first_screenshot=True):
|
||||
# return self.dock_new.dock_select_one(button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_selected(self, skip_first_screenshot=True):
|
||||
# return self.dock_new.dock_selected(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''in Public section'''
|
||||
# def dock_select_confirm(self, check_button, skip_first_screenshot=True):
|
||||
# return self.dock_new.dock_select_confirm(check_button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
'''
|
||||
DockNew.EquipmentNew
|
||||
'''
|
||||
|
||||
@cached_property
|
||||
def equipment_has_take_on(self):
|
||||
return self.dock_new.equipment_has_take_on
|
||||
|
||||
def _ship_view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_new._ship_view_swipe(distance, check_button=check_button)
|
||||
|
||||
def ship_view_next(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_new.ship_view_next(check_button=check_button)
|
||||
|
||||
def ship_view_prev(self, check_button=EQUIPMENT_OPEN):
|
||||
return self.dock_new.ship_view_prev(check_button=check_button)
|
||||
|
||||
def ship_info_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True, skil_first_screenshot=True):
|
||||
return self.dock_new.ship_info_enter(click_button=click_button, check_button=check_button, long_click=long_click, skil_first_screenshot=skil_first_screenshot)
|
||||
|
||||
@cached_property
|
||||
def _ship_side_navbar(self):
|
||||
return self.dock_new._ship_side_navbar
|
||||
|
||||
def ship_side_navbar_ensure(self, upper=None, bottom=None):
|
||||
return self.dock_new.ship_side_navbar_ensure(upper=upper, bottom=bottom)
|
||||
|
||||
def ship_equipment_take_off(self, skip_first_screenshot=True):
|
||||
return self.dock_new.ship_equipment_take_off(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_off(self, enter, long_click, out):
|
||||
return self.fleet_equipment_take_off(enter, long_click, out)
|
||||
|
||||
def ship_equipment_take_on_preset(self, index, skip_first_screenshot=True):
|
||||
return self.dock_new.ship_equipment_take_off(index, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def fleet_equipment_take_on_preset(self, preset_record, enter, long_click, out):
|
||||
return self.dock_new.fleet_equipment_take_off(enter, long_click, out)
|
||||
|
||||
'''
|
||||
Public
|
||||
'''
|
||||
|
||||
def handle_dock_cards_loading(self):
|
||||
return self.current_use.handle_dock_cards_loading()
|
||||
|
||||
def _dock_quit_check_func(self):
|
||||
return self.current_use._dock_quit_check_func()
|
||||
|
||||
def dock_quit(self):
|
||||
return self.current_use.dock_quit()
|
||||
|
||||
def dock_filter_enter(self):
|
||||
return self.current_use.dock_filter_enter()
|
||||
|
||||
def dock_filter_confirm(self, wait_loading=True):
|
||||
return self.current_use.dock_filter_confirm(wait_loading=wait_loading)
|
||||
|
||||
@cached_property
|
||||
def dock_filter(self) -> Setting:
|
||||
return self.current_use.dock_filter
|
||||
|
||||
def dock_filter_set(self, sort='level', index='all', faction='all', rarity='all', extra='no_limit', wait_loading=True):
|
||||
return self.current_use.dock_filter_set(sort, index, faction, rarity, extra, wait_loading)
|
||||
|
||||
def dock_select_one(self, button, skip_first_screenshot=True):
|
||||
return self.current_use.dock_select_one(button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def dock_selected(self, skip_first_screenshot=True):
|
||||
return self.current_use.dock_selected(skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
def dock_select_confirm(self, check_button, skip_first_screenshot=True):
|
||||
return self.current_use.dock_select_confirm(check_button, skip_first_screenshot=skip_first_screenshot)
|
||||
|
||||
Reference in New Issue
Block a user