1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-22 18:43:44 +08:00

Merge pull request #1714 from LmeSzinc/bug_fix

Bug fix
This commit is contained in:
LmeSzinc
2022-10-09 00:02:59 +08:00
committed by GitHub
4 changed files with 59 additions and 9 deletions

View File

@@ -5,6 +5,7 @@ from module.base.button import ButtonGrid
from module.base.decorator import cached_property
from module.base.filter import Filter
from module.base.timer import Timer
from module.combat.assets import GET_ITEMS_1, GET_SHIP
from module.exception import ScriptError
from module.logger import logger
from module.shop.assets import *
@@ -161,6 +162,23 @@ class ShopBase(ModuleBase):
logger.info('No shop items found')
return []
def shop_obstruct_handle(self):
"""
Remove obstructions in shop view if any
Returns:
bool:
"""
# Handle shop obstructions
if self.appear(GET_SHIP, interval=1):
self.device.click(SHOP_CLICK_SAFE_AREA)
return True
if self.appear(GET_ITEMS_1, interval=1):
self.device.click(SHOP_CLICK_SAFE_AREA)
return True
return False
def shop_get_items(self, skip_first_screenshot=True):
"""
Args:
@@ -186,6 +204,10 @@ class ShopBase(ModuleBase):
else:
self.device.screenshot()
if self.shop_obstruct_handle():
timeout.reset()
continue
shop_items.predict(
self.device.image,
name=True,

View File

@@ -1,7 +1,6 @@
import cv2
from module.base.timer import Timer
from module.combat.assets import GET_ITEMS_1, GET_SHIP
from module.exception import ScriptError
from module.logger import logger
from module.ocr.ocr import Digit, DigitCounter
@@ -265,19 +264,14 @@ class ShopClerk(ShopBase, Retirement):
if self.shop_buy_handle(item):
self.interval_reset(BACK_ARROW)
continue
if self.appear(GET_SHIP, interval=1):
self.device.click(SHOP_CLICK_SAFE_AREA)
self.interval_reset(BACK_ARROW)
continue
if self.handle_retirement():
self.interval_reset(BACK_ARROW)
continue
if self.appear(GET_ITEMS_1, interval=1):
self.device.click(SHOP_CLICK_SAFE_AREA)
if self.handle_info_bar():
self.interval_reset(BACK_ARROW)
success = True
continue
if self.handle_info_bar():
if self.shop_obstruct_handle():
self.interval_reset(BACK_ARROW)
success = True
continue