mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-22 00:35:34 +00:00
Add: [ALAS] Switch.wait()
This commit is contained in:
parent
f4afb86d0e
commit
af80aa3d4c
@ -137,14 +137,14 @@ class Switch:
|
||||
current = self.get(main=main)
|
||||
logger.attr(self.name, current)
|
||||
|
||||
# Handle additional popups
|
||||
if self.handle_additional(main=main):
|
||||
continue
|
||||
|
||||
# End
|
||||
if current == state:
|
||||
return changed
|
||||
|
||||
# Handle additional popups
|
||||
if self.handle_additional(main=main):
|
||||
continue
|
||||
|
||||
# Warning
|
||||
if current == 'unknown':
|
||||
if warning_show_timer.reached():
|
||||
@ -165,3 +165,36 @@ class Switch:
|
||||
changed = True
|
||||
|
||||
return changed
|
||||
|
||||
def wait(self, main, skip_first_screenshot=True):
|
||||
"""
|
||||
Wait until any state activated
|
||||
|
||||
Args:
|
||||
main (ModuleBase):
|
||||
skip_first_screenshot:
|
||||
|
||||
Returns:
|
||||
bool: If success
|
||||
"""
|
||||
timeout = Timer(2, count=6).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
main.device.screenshot()
|
||||
|
||||
# Detect
|
||||
current = self.get(main=main)
|
||||
logger.attr(self.name, current)
|
||||
|
||||
# End
|
||||
if current != 'unknown':
|
||||
return True
|
||||
if timeout.reached():
|
||||
logger.warning(f'{self.name} wait activated timeout')
|
||||
return False
|
||||
|
||||
# Handle additional popups
|
||||
if self.handle_additional(main=main):
|
||||
continue
|
||||
|
Loading…
Reference in New Issue
Block a user