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

assetholdingController.py (1334B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\assetholding\client\assetholdingController.py
      2 import logging
      3 from assetholding.client.messengers.assetholdingMessenger import AssetHoldingMessenger
      4 import assetholding.client.messengers.assetholdingMessengerSignal as messenger_signals
      5 from assetholding.client import assetholdingSignals
      6 logger = logging.getLogger('asset_holding')
      7 
      8 class AssetHoldingController(object):
      9     _instance = None
     10 
     11     def __init__(self):
     12         self._messenger = AssetHoldingMessenger.get_instance(sm.GetService('publicGatewaySvc'))
     13         self._connect_to_messenger_signals()
     14 
     15     @classmethod
     16     def get_instance(cls):
     17         if not cls._instance:
     18             cls._instance = AssetHoldingController()
     19         return cls._instance
     20 
     21     def __del__(self):
     22         self._disconnect_from_messenger_signals()
     23 
     24     def _connect_to_messenger_signals(self):
     25         messenger_signals.on_entitlement_redeemed_internal.connect(self._on_entitlement_redeemed)
     26 
     27     def _disconnect_from_messenger_signals(self):
     28         messenger_signals.on_entitlement_redeemed_internal.disconnect(self._on_entitlement_redeemed)
     29 
     30     @staticmethod
     31     def _on_entitlement_redeemed(external_id, change_quantity):
     32         assetholdingSignals.on_entitlement_redeemed(external_id, change_quantity)