コード例 #1
0
ファイル: boostersbooster_tabs.py プロジェクト: Difrex/wotsdk
 def __getActiveBoosterByType(bType):
     criteria = REQ_CRITERIA.BOOSTER.ACTIVE | REQ_CRITERIA.BOOSTER.BOOSTER_TYPES([bType])
     activeBoosters = g_goodiesCache.getBoosters(criteria=criteria).values()
     if activeBoosters:
         return max(activeBoosters, key=attrgetter('effectValue'))
     else:
         return None
コード例 #2
0
    def _buildList(self):
        result = []
        activeBoosters = g_goodiesCache.getBoosters(
            criteria=REQ_CRITERIA.BOOSTER.ACTIVE)
        activeBoostersList = sorted(activeBoosters.values(),
                                    key=lambda b: b.getUsageLeftTime(),
                                    reverse=True)
        availableBoostersCount = len(self.__getAvailableBoosters())
        activeBoostersCount = min(len(activeBoostersList),
                                  MAX_ACTIVE_BOOSTERS_COUNT)
        freeSlotsCount = MAX_ACTIVE_BOOSTERS_COUNT - min(
            activeBoostersCount, MAX_ACTIVE_BOOSTERS_COUNT)
        addBoostersSlotsCount = min(freeSlotsCount, availableBoostersCount)
        self._slotsMap = {}
        for idx in range(0, activeBoostersCount):
            booster = activeBoostersList[idx]
            self._slotsMap[idx] = booster.boosterID
            result.append(self.__makeBoosterVO(idx, booster))

        icon = ''
        if not self._isPanelInactive:
            icon = RES_ICONS.MAPS_ICONS_ARTEFACT_EMPTYORDER
        addAndActiveBoostersCount = activeBoostersCount + addBoostersSlotsCount
        for idx in range(activeBoostersCount, MAX_ACTIVE_BOOSTERS_COUNT):
            self._slotsMap[idx], slotLinkage = self.getEmptySlotParams(
                idx, addAndActiveBoostersCount)
            result.append(self.__makeEmptyBoosterVO(idx, slotLinkage, icon))

        self.as_setPanelPropsS(_GUI_SLOTS_PROPS)
        self.as_setSlotsS(result)
コード例 #3
0
 def __getActiveBoosterByType(bType):
     criteria = REQ_CRITERIA.BOOSTER.ACTIVE | REQ_CRITERIA.BOOSTER.BOOSTER_TYPES([bType])
     activeBoosters = g_goodiesCache.getBoosters(criteria=criteria).values()
     if activeBoosters:
         return max(activeBoosters, key=attrgetter("effectValue"))
     else:
         return None
コード例 #4
0
    def __onUpdateBoosters(self, *args):
        for tab in self.__tabs.itervalues():
            tab.update()

        self.__activeBoostersCount = len(
            g_goodiesCache.getBoosters(
                criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values())
        self.onTabsUpdate()
コード例 #5
0
 def init(self):
     self.__activeBoostersCount = len(
         g_goodiesCache.getBoosters(
             criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values())
     g_clientUpdateManager.addCallbacks({
         'goodies': self.__onUpdateBoosters,
         'shop': self.__onUpdateBoosters,
         'stats': self.__onStatsChanged
     })
     g_eventsCache.onSyncCompleted += self.__onQuestsUpdate
コード例 #6
0
ファイル: boostersbooster_tabs.py プロジェクト: Difrex/wotsdk
 def _processBoostersData(self):
     criteria = REQ_CRITERIA.BOOSTER.ENABLED | ~REQ_CRITERIA.HIDDEN
     boosters = sorted(g_goodiesCache.getBoosters(criteria=criteria).values(), self._sort)
     self._boosters = []
     self._count = 0
     self._totalCount = 0
     for booster in boosters:
         self._totalCount += DEFAULT_SHOP_COUNT
         if self._isBoosterValid(booster):
             self._count += DEFAULT_SHOP_COUNT
             self._boosters.append(booster)
コード例 #7
0
ファイル: boostersbooster_tabs.py プロジェクト: Difrex/wotsdk
 def _processBoostersData(self):
     criteria = REQ_CRITERIA.BOOSTER.IN_ACCOUNT | REQ_CRITERIA.BOOSTER.ENABLED
     boosters = sorted(g_goodiesCache.getBoosters(criteria=criteria).values(), self._sort)
     self._boosters = []
     self._count = 0
     self._totalCount = 0
     for booster in boosters:
         self._totalCount += booster.count
         if self._isBoosterValid(booster):
             self._count += booster.count
             self._boosters.append(booster)
コード例 #8
0
ファイル: lobbyheader.py プロジェクト: jamesxia4/wot_client
 def __setClanInfo(self, clanInfo):
     name = BigWorld.player().name
     if clanInfo and len(clanInfo) > 1:
         clanAbbrev = clanInfo[1]
     else:
         clanAbbrev = None
     hasNew = not AccountSettings.getFilter(BOOSTERS)['wasShown']
     hasActiveBooster = len(g_goodiesCache.getBoosters(criteria=REQ_CRITERIA.BOOSTER.ACTIVE)) > 0
     self.as_nameResponseS(g_lobbyContext.getPlayerFullName(name, clanInfo=clanInfo), name, clanAbbrev, g_itemsCache.items.stats.isTeamKiller, g_clanCache.isInClan, hasNew, hasActiveBooster, TOOLTIPS.HEADER_ACCOUNT, TOOLTIP_TYPES.COMPLEX)
     if g_clanCache.clanDBID:
         self.requestClanEmblem32x32(g_clanCache.clanDBID)
コード例 #9
0
 def _processBoostersData(self):
     criteria = REQ_CRITERIA.BOOSTER.ENABLED | ~REQ_CRITERIA.HIDDEN
     boosters = sorted(g_goodiesCache.getBoosters(criteria=criteria).values(), self._sort)
     self._boosters = []
     self._count = 0
     self._totalCount = 0
     for booster in boosters:
         self._totalCount += DEFAULT_SHOP_COUNT
         if self._isBoosterValid(booster):
             self._count += DEFAULT_SHOP_COUNT
             self._boosters.append(booster)
コード例 #10
0
 def _processBoostersData(self):
     criteria = REQ_CRITERIA.BOOSTER.IN_ACCOUNT | REQ_CRITERIA.BOOSTER.ENABLED
     boosters = sorted(g_goodiesCache.getBoosters(criteria=criteria).values(), self._sort)
     self._boosters = []
     self._count = 0
     self._totalCount = 0
     for booster in boosters:
         self._totalCount += booster.count
         if self._isBoosterValid(booster):
             self._count += booster.count
             self._boosters.append(booster)
コード例 #11
0
    def __startBoosterTimeNotifyCallback(self):
        self.__boostersForUpdate = []
        activeBoosters = g_goodiesCache.getBoosters(REQ_CRITERIA.BOOSTER.ACTIVE).values()
        notificationList = []
        for booster in activeBoosters:
            notificationList.append((booster.boosterID, booster.getUsageLeftTime() % time_utils.ONE_MINUTE))

        if len(notificationList) > 0:
            _, nextBoosterNotification = min(notificationList, key=itemgetter(1))
            for item in notificationList:
                if item[1] == nextBoosterNotification:
                    self.__boostersForUpdate.append(item[0])

            nextBoosterNotification = max(nextBoosterNotification, 1)
        else:
            return
        self.__boosterNotifyTimeCallback = BigWorld.callback(nextBoosterNotification, self.__notifyBoosterTime)
コード例 #12
0
    def __startBoosterTimeNotifyCallback(self):
        self.__boostersForUpdate = []
        activeBoosters = g_goodiesCache.getBoosters(
            REQ_CRITERIA.BOOSTER.ACTIVE).values()
        notificationList = []
        for booster in activeBoosters:
            notificationList.append(
                (booster.boosterID,
                 booster.getUsageLeftTime() % time_utils.ONE_MINUTE))

        if len(notificationList) > 0:
            _, nextBoosterNotification = min(notificationList,
                                             key=itemgetter(1))
            for item in notificationList:
                if item[1] == nextBoosterNotification:
                    self.__boostersForUpdate.append(item[0])

            nextBoosterNotification = max(nextBoosterNotification, 1)
        else:
            return
        self.__boosterNotifyTimeCallback = BigWorld.callback(
            nextBoosterNotification, self.__notifyBoosterTime)
コード例 #13
0
    def _buildList(self):
        result = []
        activeBoosters = g_goodiesCache.getBoosters(criteria=REQ_CRITERIA.BOOSTER.ACTIVE)
        activeBoostersList = sorted(activeBoosters.values(), key=lambda b: b.getUsageLeftTime(), reverse=True)
        availableBoostersCount = len(self.__getAvailableBoosters())
        activeBoostersCount = min(len(activeBoostersList), MAX_ACTIVE_BOOSTERS_COUNT)
        freeSlotsCount = MAX_ACTIVE_BOOSTERS_COUNT - min(activeBoostersCount, MAX_ACTIVE_BOOSTERS_COUNT)
        addBoostersSlotsCount = min(freeSlotsCount, availableBoostersCount)
        self._slotsMap = {}
        for idx in range(0, activeBoostersCount):
            booster = activeBoostersList[idx]
            self._slotsMap[idx] = booster.boosterID
            result.append(self.__makeBoosterVO(idx, booster))

        icon = ""
        if not self._isPanelInactive:
            icon = RES_ICONS.MAPS_ICONS_ARTEFACT_EMPTYORDER
        addAndActiveBoostersCount = activeBoostersCount + addBoostersSlotsCount
        for idx in range(activeBoostersCount, MAX_ACTIVE_BOOSTERS_COUNT):
            self._slotsMap[idx], slotLinkage = self.getEmptySlotParams(idx, addAndActiveBoostersCount)
            result.append(self.__makeEmptyBoosterVO(idx, slotLinkage, icon))

        self.as_setPanelPropsS(_GUI_SLOTS_PROPS)
        self.as_setSlotsS(result)
コード例 #14
0
 def __getAvailableBoosters(self):
     criteria = REQ_CRITERIA.BOOSTER.IS_READY_TO_ACTIVATE
     return g_goodiesCache.getBoosters(criteria=criteria)
コード例 #15
0
    def __onUpdateBoosters(self, *args):
        for tab in self.__tabs.itervalues():
            tab.update()

        self.__activeBoostersCount = len(g_goodiesCache.getBoosters(criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values())
        self.onTabsUpdate()
コード例 #16
0
 def init(self):
     self.__activeBoostersCount = len(g_goodiesCache.getBoosters(criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values())
     g_clientUpdateManager.addCallbacks(
         {"goodies": self.__onUpdateBoosters, "shop": self.__onUpdateBoosters, "stats": self.__onStatsChanged}
     )
     g_eventsCache.onSyncCompleted += self.__onQuestsUpdate
コード例 #17
0
 def __getAvailableBoosters(self):
     criteria = REQ_CRITERIA.BOOSTER.IS_READY_TO_ACTIVATE
     return g_goodiesCache.getBoosters(criteria=criteria)
コード例 #18
0
 def __getAvailableBoosters(self):
     criteria = REQ_CRITERIA.BOOSTER.IN_ACCOUNT
     return g_goodiesCache.getBoosters(criteria=criteria).values()
コード例 #19
0
 def __getActiveBoosters(self):
     return g_goodiesCache.getBoosters(criteria=REQ_CRITERIA.BOOSTER.ACTIVE).values()
コード例 #20
0
ファイル: boosterswindow.py プロジェクト: kblw/wot_client
 def __getActiveBoosterByType(self, bType):
     criteria = REQ_CRITERIA.BOOSTER.ACTIVE | REQ_CRITERIA.BOOSTER.BOOSTER_TYPES([bType])
     activeBoosters = g_goodiesCache.getBoosters(criteria=criteria).values()
     if len(activeBoosters) > 0:
         return max(activeBoosters, key=attrgetter('effectValue'))