Merge pull request #582 from LmeSzinc/dev

Bug fix
This commit is contained in:
LmeSzinc 2024-07-20 05:19:56 +08:00 committed by GitHub
commit c84b7904dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 11 deletions

View File

@ -448,14 +448,14 @@ class Dungeon(DungeonStamina, DungeonEvent, Combat):
# Sync Dungeon.TrailblazePower and Ornament.TrailblazePower # Sync Dungeon.TrailblazePower and Ornament.TrailblazePower
with self.config.multi_set(): with self.config.multi_set():
value = self.config.TrailblazePower_ExtractReservedTrailblazePower value = self.config.TrailblazePower_ExtractReservedTrailblazePower
keys = [set_task, 'TrailblazePower', 'ExtractReservedTrailblazePower'] keys = f'{set_task}.TrailblazePower.ExtractReservedTrailblazePower'
if self.config.cross_get(keys) != value: if self.config.cross_get(keys) != value:
self.config.cross_set(keys, value) self.config.cross_set(keys, value)
value = self.config.TrailblazePower_UseFuel value = self.config.TrailblazePower_UseFuel
keys = [set_task, 'TrailblazePower', 'UseFuel'] keys = f'{set_task}.TrailblazePower.UseFuel'
if self.config.cross_get(keys) != value: if self.config.cross_get(keys) != value:
self.config.cross_set(keys, value) self.config.cross_set(keys, value)
value = self.config.TrailblazePower_FuelReserve value = self.config.TrailblazePower_FuelReserve
keys = [set_task, 'TrailblazePower', 'FuelReserve'] keys = f'{set_task}.TrailblazePower.FuelReserve'
if self.config.cross_get(keys) != value: if self.config.cross_get(keys) != value:
self.config.cross_set(keys, value) self.config.cross_set(keys, value)

View File

@ -180,6 +180,15 @@ class LoginAndroidCloud(ModuleBase):
self.config.stored.CloudRemainPaid.value = paid self.config.stored.CloudRemainPaid.value = paid
self.config.stored.CloudRemainFree.value = free self.config.stored.CloudRemainFree.value = free
def _is_cloud_ingame(self):
button = self.xpath(XPath.FLOAT_WINDOW)
if self.appear(button):
# Confirm float window size
width, height = button.size
if (width < 120 and height < 120) and (width / height < 0.6 or height / width < 0.6):
return True
return False
def _cloud_enter(self, skip_first=False): def _cloud_enter(self, skip_first=False):
""" """
Pages: Pages:
@ -194,11 +203,7 @@ class LoginAndroidCloud(ModuleBase):
self.device.dump_hierarchy() self.device.dump_hierarchy()
# End # End
button = self.xpath(XPath.FLOAT_WINDOW) if self._is_cloud_ingame():
if self.appear(button):
# Confirm float window size
width, height = button.size
if (width < 120 and height < 120) and (width / height < 0.6 or height / width < 0.6):
logger.info('Cloud game entered') logger.info('Cloud game entered')
break break
@ -366,7 +371,7 @@ class LoginAndroidCloud(ModuleBase):
self._cloud_get_remain() self._cloud_get_remain()
self._cloud_enter() self._cloud_enter()
return True return True
elif self.appear(XPath.FLOAT_WINDOW): elif self.is_in_cloud_page():
logger.info('Cloud game is in game') logger.info('Cloud game is in game')
return True return True
elif self.appear(XPath.FLOAT_DELAY): elif self.appear(XPath.FLOAT_DELAY):