NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

btnDataJobBoard.py (1977B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\neocom\btnData\btnDataJobBoard.py
      2 import uthread2
      3 from localization import GetByLabel
      4 from eve.client.script.ui.shared.neocom.neocom.btnData.btnDataNode import BtnDataNode
      5 from corporation.client.goals.goalsController import CorpGoalsController
      6 import corporation.client.goals.goalSignals as corpGoalsSignals
      7 from dailygoals.client.goalsController import DailyGoalsController
      8 import dailygoals.client.goalSignals as dailyGoalSignals
      9 _has_unclaimed = False
     10 
     11 class BtnDataNodeJobBoard(BtnDataNode):
     12 
     13     def __init__(self, *args, **kwargs):
     14         BtnDataNode.__init__(self, *args, **kwargs)
     15         dailyGoalSignals.on_unclaimed_goal_ids_changed.connect(self._update_badge)
     16         corpGoalsSignals.on_unclaimed_goal_ids_changed.connect(self._update_badge)
     17         self._update_badge()
     18 
     19     def _disconnect_signals(self):
     20         BtnDataNode._disconnect_signals(self)
     21         dailyGoalSignals.on_unclaimed_goal_ids_changed.disconnect(self._update_badge)
     22         corpGoalsSignals.on_unclaimed_goal_ids_changed.disconnect(self._update_badge)
     23 
     24     @uthread2.debounce(1)
     25     def _update_badge(self, *args, **kwargs):
     26         if not session.charid or self.destroyed:
     27             return
     28         has_unclaimed = DailyGoalsController.get_instance().has_unclaimed_rewards()
     29         if not has_unclaimed:
     30             has_unclaimed = CorpGoalsController.get_instance().has_unclaimed_rewards()
     31         self._update_has_unclaimed(has_unclaimed)
     32 
     33     def _update_has_unclaimed(self, value):
     34         global _has_unclaimed
     35         if value != _has_unclaimed:
     36             _has_unclaimed = value
     37             self.OnBadgeCountChanged()
     38 
     39     def GetItemCount(self):
     40         if _has_unclaimed:
     41             return 1
     42         return 0
     43 
     44     def GetUnseenItemsHint(self):
     45         numItems = self.GetItemCount()
     46         if numItems:
     47             return GetByLabel('UI/Neocom/UnclaimedRewards')