From 725c78212e774de43ceca1a1f8a4dc2e1314abfb Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 10 Nov 2023 23:35:53 +0800 Subject: [PATCH] Add: Detect trailblazers --- .../character/switch/TRAILBLAZER_SEARCH.png | Bin 0 -> 46397 bytes .../switch/TrailblazerDestructionFemale.png | Bin 0 -> 6565 bytes .../switch/TrailblazerDestructionMale.png | Bin 0 -> 6545 bytes .../switch/TrailblazerPreservationFemale.png | Bin 0 -> 6575 bytes .../switch/TrailblazerPreservationMale.png | Bin 0 -> 6572 bytes .../assets/assets_character_switch.py | 50 ++++++++++++++++++ tasks/character/keywords/classes.py | 3 ++ tasks/character/switch.py | 39 ++++++++++++-- 8 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 assets/share/character/switch/TRAILBLAZER_SEARCH.png create mode 100644 assets/share/character/switch/TrailblazerDestructionFemale.png create mode 100644 assets/share/character/switch/TrailblazerDestructionMale.png create mode 100644 assets/share/character/switch/TrailblazerPreservationFemale.png create mode 100644 assets/share/character/switch/TrailblazerPreservationMale.png diff --git a/assets/share/character/switch/TRAILBLAZER_SEARCH.png b/assets/share/character/switch/TRAILBLAZER_SEARCH.png new file mode 100644 index 0000000000000000000000000000000000000000..91b776b16ef35c760ce91697bad05667dd496509 GIT binary patch literal 46397 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 b;Q!c_o&Wkjqa~f6etylu-n{1Wjr;!xtZI__ literal 0 HcmV?d00001 diff --git a/assets/share/character/switch/TrailblazerDestructionFemale.png b/assets/share/character/switch/TrailblazerDestructionFemale.png new file mode 100644 index 0000000000000000000000000000000000000000..5f23c8cde3f32b2eba6669a439f58b11074ab594 GIT binary patch literal 6565 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 Q{U=I8?Zwk_6{|P@14-q&T>t<8 literal 0 HcmV?d00001 diff --git a/assets/share/character/switch/TrailblazerDestructionMale.png b/assets/share/character/switch/TrailblazerDestructionMale.png new file mode 100644 index 0000000000000000000000000000000000000000..545eb49664b1d9cb252ea68e9f6c96dcc18a8a60 GIT binary patch literal 6545 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 literal 0 HcmV?d00001 diff --git a/assets/share/character/switch/TrailblazerPreservationFemale.png b/assets/share/character/switch/TrailblazerPreservationFemale.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb86fcf4bd4c6f3e5667a2ad10dc0293fc51b2d GIT binary patch literal 6575 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 Su!xSo0(7+>Xq9SMzy1%8M!HV` literal 0 HcmV?d00001 diff --git a/tasks/character/assets/assets_character_switch.py b/tasks/character/assets/assets_character_switch.py index 7a7fbdd99..0ac313f84 100644 --- a/tasks/character/assets/assets_character_switch.py +++ b/tasks/character/assets/assets_character_switch.py @@ -13,3 +13,53 @@ OCR_MAP_CHARACTERS = ButtonWrapper( button=(1041, 142, 1205, 436), ), ) +TRAILBLAZER_SEARCH = ButtonWrapper( + name='TRAILBLAZER_SEARCH', + share=Button( + file='./assets/share/character/switch/TRAILBLAZER_SEARCH.png', + area=(1151, 142, 1205, 436), + search=(1131, 122, 1225, 456), + color=(131, 127, 137), + button=(1151, 142, 1205, 436), + ), +) +TrailblazerDestructionFemale = ButtonWrapper( + name='TrailblazerDestructionFemale', + share=Button( + file='./assets/share/character/switch/TrailblazerDestructionFemale.png', + area=(1170, 233, 1188, 251), + search=(1150, 213, 1208, 271), + color=(198, 180, 170), + button=(1170, 233, 1188, 251), + ), +) +TrailblazerDestructionMale = ButtonWrapper( + name='TrailblazerDestructionMale', + share=Button( + file='./assets/share/character/switch/TrailblazerDestructionMale.png', + area=(1169, 156, 1187, 174), + search=(1149, 136, 1207, 194), + color=(196, 179, 170), + button=(1169, 156, 1187, 174), + ), +) +TrailblazerPreservationFemale = ButtonWrapper( + name='TrailblazerPreservationFemale', + share=Button( + file='./assets/share/character/switch/TrailblazerPreservationFemale.png', + area=(1166, 243, 1184, 261), + search=(1146, 223, 1204, 281), + color=(194, 169, 155), + button=(1166, 243, 1184, 261), + ), +) +TrailblazerPreservationMale = ButtonWrapper( + name='TrailblazerPreservationMale', + share=Button( + file='./assets/share/character/switch/TrailblazerPreservationMale.png', + area=(1171, 394, 1189, 412), + search=(1151, 374, 1209, 432), + color=(191, 166, 153), + button=(1171, 394, 1189, 412), + ), +) diff --git a/tasks/character/keywords/classes.py b/tasks/character/keywords/classes.py index 925e90908..f00b166fa 100644 --- a/tasks/character/keywords/classes.py +++ b/tasks/character/keywords/classes.py @@ -12,3 +12,6 @@ class CharacterList(Keyword): @cached_property def is_trailblazer(self) -> bool: return 'Trailblazer' in self.name + + def __hash__(self) -> int: + return super().__hash__() diff --git a/tasks/character/switch.py b/tasks/character/switch.py index a7b237eb1..0209ef74c 100644 --- a/tasks/character/switch.py +++ b/tasks/character/switch.py @@ -5,10 +5,10 @@ from scipy import signal from module.base.timer import Timer from module.base.utils import area_center, crop, rgb2luma from module.logger import logger -from module.ocr.ocr import OcrResultButton, OcrWhiteLetterOnComplexBackground +from module.ocr.ocr import BoxedResult, OcrResultButton, OcrWhiteLetterOnComplexBackground from tasks.base.ui import UI -from tasks.character.assets.assets_character_switch import OCR_MAP_CHARACTERS -from tasks.character.keywords import CharacterList, DICT_SORTED_RANGES +from tasks.character.assets.assets_character_switch import * +from tasks.character.keywords import CharacterList, DICT_SORTED_RANGES, KEYWORD_CHARACTER_LIST class OcrCharacterName(OcrWhiteLetterOnComplexBackground): @@ -32,14 +32,45 @@ class CharacterSwitch(UI): - self.characters - self.character_current - self.character_buttons + + Pages: + in: page_main """ ocr = OcrCharacterName(OCR_MAP_CHARACTERS) - self.character_buttons = ocr.matched_ocr(self.device.image, keyword_classes=CharacterList) + buttons = ocr.matched_ocr(self.device.image, keyword_classes=CharacterList) + if trailblazer := self._get_character_trailblazer(): + buttons.append(trailblazer) + buttons = sorted(buttons, key=lambda b: area_center(b.area)[1]) + self.character_buttons = buttons + self.characters = [button.matched_keyword for button in self.character_buttons] logger.attr('Characters', self.characters) self.character_current = self._convert_selected_to_character(self._update_current_character()) return self.characters + def _get_character_trailblazer(self) -> OcrResultButton | None: + dict_template = { + KEYWORD_CHARACTER_LIST.TrailblazerDestruction: [ + TrailblazerDestructionMale, + TrailblazerDestructionFemale, + ], + KEYWORD_CHARACTER_LIST.TrailblazerPreservation: [ + TrailblazerPreservationMale, + TrailblazerPreservationFemale, + + ], + } + for character, templates in dict_template.items(): + for template in templates: + template.load_search(TRAILBLAZER_SEARCH.area) + if template.match_template(self.device.image): + logger.info(f'Found trailblazer: {template}') + # Create a fake OcrResultButton object + box = BoxedResult(box=template.button, text_img=None, ocr_text='', score=1.0) + button = OcrResultButton(boxed_result=box, matched_keyword=character) + return button + return None + def _update_current_character(self) -> list[int]: """ Returns: