Пример #1
0
    def _update(self, show: bool = False) -> None:

        cur_time = ba.time(ba.TimeType.REAL)

        # if our account state has changed, refresh our UI
        account_state = _ba.get_account_state()
        if account_state != self._account_state:
            self._account_state = account_state
            self._save_state()
            self._refresh()

            # and power ranking too...
            if not self._doing_power_ranking_query:
                self._last_power_ranking_query_time = None

        # send off a new power-ranking query if its been long enough or our
        # requested season has changed or whatnot..
        if not self._doing_power_ranking_query and (
                self._last_power_ranking_query_time is None
                or cur_time - self._last_power_ranking_query_time > 30.0):
            try:
                if show:
                    ba.textwidget(edit=self._league_title_text, text='')
                    ba.textwidget(edit=self._league_text, text='')
                    ba.textwidget(edit=self._league_number_text, text='')
                    ba.textwidget(
                        edit=self._your_power_ranking_text,
                        text=ba.Lstr(value='${A}...',
                                     subs=[('${A}',
                                            ba.Lstr(resource='loadingText'))]))
                    ba.textwidget(edit=self._to_ranked_text, text='')
                    ba.textwidget(edit=self._power_ranking_rank_text, text='')
                    ba.textwidget(edit=self._season_ends_text, text='')
                    ba.textwidget(edit=self._trophy_counts_reset_text, text='')
            except Exception:
                ba.print_exception('error showing updated rank info')

            self._last_power_ranking_query_time = cur_time
            self._doing_power_ranking_query = True
            _ba.power_ranking_query(season=self._requested_season,
                                    callback=ba.WeakCall(
                                        self._on_power_ranking_query_response))
Пример #2
0
    def _update(self) -> None:
        cur_time = ba.time(ba.TimeType.REAL)

        # If our account state has changed, refresh our UI.
        account_state_num = _ba.get_account_state_num()
        if account_state_num != self._account_state_num:
            self._account_state_num = account_state_num

            # And power ranking too...
            if not self._doing_power_ranking_query:
                self._last_power_ranking_query_time = None

        # Send off a new power-ranking query if its been
        # long enough or whatnot.
        if not self._doing_power_ranking_query and (
                self._last_power_ranking_query_time is None
                or cur_time - self._last_power_ranking_query_time > 30.0):
            self._last_power_ranking_query_time = cur_time
            self._doing_power_ranking_query = True
            _ba.power_ranking_query(
                callback=ba.WeakCall(self._on_power_ranking_query_response))