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

personalDonateLPPanel.py (1952B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\wallet\panels\personal\personalDonateLPPanel.py
      2 from corporation.common import FLAG_CHARACTER_LP_DONATION_KILLSWITCH, FLAG_CHARACTER_LP_DONATION_KILLSWITCH_DEFAULT
      3 from eve.client.script.ui.shared.neocom.wallet.panels.donateLPPanel import DonateLPPanel
      4 from eve.common.script.sys import idCheckers
      5 
      6 class PersonalDonateLPPanel(DonateLPPanel):
      7     __notifyevents__ = ['OnCharacterLPBalanceChange_Local']
      8     default_name = 'personalDonateLPPanel'
      9     killSwitchKey = FLAG_CHARACTER_LP_DONATION_KILLSWITCH
     10     killSwitchDefault = FLAG_CHARACTER_LP_DONATION_KILLSWITCH_DEFAULT
     11 
     12     def _get_selected_issuer_corp_id_setting(self):
     13         return settings.user.ui.Get('donateCorpLPIssuer_personal', None)
     14 
     15     def _set_selected_issuer_corp_id_setting(self, value):
     16         settings.user.ui.Set('donateCorpLPIssuer_personal', value)
     17 
     18     def _get_balance(self, issuer_corp_id):
     19         return sm.GetService('loyaltyPointsWalletSvc').GetCharacterWalletLPBalance(issuer_corp_id)
     20 
     21     def _get_raw_issuer_corp_list(self):
     22         return [ x for x, _ in sm.GetService('loyaltyPointsWalletSvc').GetAllCharacterLPBalancesExcludingEvermarks() ]
     23 
     24     def OnCharacterLPBalanceChange_Local(self, *args, **kwargs):
     25         self._on_update_lp_balance()
     26 
     27     def _filter_valid_corps(self, corps):
     28         if not self._can_make_donations:
     29             return
     30         valid_corps = [ x for x in corps if idCheckers.IsPlayerCorporation(x.charID) ]
     31         valid_corps = [ x for x in valid_corps if sm.GetService('corp').GetCorporation(x.charID).memberCount > 0 ]
     32         return valid_corps
     33 
     34     def _set_transfer_button_func(self):
     35         self._transfer_button.SetFunc(self._transfer_lp)
     36 
     37     def _do_transfer(self, amount):
     38         sm.GetService('loyaltyPointsWalletSvc').TransferLPFromPlayerToCorp(self._selected_corp_id, self._selected_issuer_corp_id, amount)