def _show_remaining_achievements(self) -> None: # pylint: disable=cyclic-import from ba._achievement import get_achievements_for_coop_level from ba._lang import Lstr from bastd.actor.text import Text ts_h_offs = 30 v_offs = -200 achievements = [ a for a in get_achievements_for_coop_level( self._get_coop_level_name()) if not a.complete ] vrmode = _ba.app.vr_mode if achievements: Text(Lstr(resource='achievementsRemainingText'), host_only=True, position=(ts_h_offs - 10 + 40, v_offs - 10), transition=Text.Transition.FADE_IN, scale=1.1, h_attach=Text.HAttach.LEFT, v_attach=Text.VAttach.TOP, color=(1, 1, 1.2, 1) if vrmode else (0.8, 0.8, 1.0, 1.0), flatness=1.0 if vrmode else 0.6, shadow=1.0 if vrmode else 0.5, transition_delay=0.0, transition_out_delay=1.3 if self.slow_motion else 4.0).autoretain() hval = 70 vval = -50 tdelay = 0.0 for ach in achievements: tdelay += 0.05 ach.create_display(hval + 40, vval + v_offs, 0 + tdelay, outdelay=1.3 if self.slow_motion else 4.0, style='in_game') vval -= 55
def _preload_achievements(self) -> None: from ba import _achievement achievements = _achievement.get_achievements_for_coop_level( self._get_coop_level_name()) for ach in achievements: ach.get_icon_texture(True)