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

cosmeticsLicenseSvc.py (5488B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\cosmeticsLicenseSvc.py
      2 from featuremanagement.client.flag import flag_bool
      3 from carbon.common.script.sys.service import Service
      4 from carbon.common.script.sys.serviceConst import ROLE_QA
      5 from cosmetics.client.shipEmblemLicensesController import ShipEmblemLicensesController
      6 from cosmetics.client.structurePaintworkLicensesController import StructurePaintworkLicensesController
      7 from shipcosmetics.common.const import REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT, ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT, ENABLE_LP_HERALDRY_PURCHASES_FLAG, REMOVE_EMBLEMS_LP_COST_FLAG
      8 from shipcosmetics.client.licensegateway.licenseSignals import on_enable_heraldry_purchase_flag_change
      9 
     10 class CosmeticsLicenseService(Service):
     11     __guid__ = 'svc.cosmeticsLicenseSvc'
     12     __startupdependencies__ = ['publicGatewaySvc']
     13     __notifyevents__ = ['OnSessionChanged']
     14 
     15     def Run(self, memStream = None):
     16         Service.Run(self, memStream)
     17         self._ship_emblems_licenses_controller = ShipEmblemLicensesController()
     18         self._structure_paintwork_licenses_controller = StructurePaintworkLicensesController(self._get_public_gateway())
     19         self._remove_emblems_lp_cost = REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT
     20         flag_bool(key=REMOVE_EMBLEMS_LP_COST_FLAG, default_value=REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT, callback=self._on_emblems_flag_changed)
     21         self._enable_lp_heraldry_purchases = ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT
     22         flag_bool(key=ENABLE_LP_HERALDRY_PURCHASES_FLAG, default_value=ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT, callback=self._on_heraldry_purchase_flag_changed)
     23 
     24     def OnSessionChanged(self, _isRemote, _session, change):
     25         if 'charid' in change:
     26             self._ship_emblems_licenses_controller.flush_cache()
     27         if 'corpid' in change:
     28             self._structure_paintwork_licenses_controller.flush_cache()
     29 
     30     def _get_public_gateway(self):
     31         return sm.GetService('publicGatewaySvc')
     32 
     33     def is_emblem_lp_cost_removed(self):
     34         return self._remove_emblems_lp_cost
     35 
     36     def are_heraldry_purchases_enabled(self):
     37         return self._enable_lp_heraldry_purchases
     38 
     39     def _on_emblems_flag_changed(self, evaluate_flag):
     40         self._remove_emblems_lp_cost = evaluate_flag()
     41 
     42     def _on_heraldry_purchase_flag_changed(self, evaluate_flag):
     43         previous_value = self._enable_lp_heraldry_purchases
     44         self._enable_lp_heraldry_purchases = evaluate_flag()
     45         if self._enable_lp_heraldry_purchases != previous_value:
     46             on_enable_heraldry_purchase_flag_change(self._enable_lp_heraldry_purchases)
     47 
     48     def is_ship_license_owned(self, license_id):
     49         return self._ship_emblems_licenses_controller.is_ship_license_owned(license_id)
     50 
     51     def get_all_ship_licenses(self):
     52         return self._ship_emblems_licenses_controller.get_all_ship_licenses()
     53 
     54     def get_all_licensed_ship_groups(self):
     55         return self._ship_emblems_licenses_controller.get_all_licensed_ship_groups()
     56 
     57     def get_owned_ship_licenses(self, force_refresh = False):
     58         return self._ship_emblems_licenses_controller.get_owned_ship_licenses(force_refresh=force_refresh)
     59 
     60     def get_unowned_ship_licenses(self, force_refresh = False):
     61         return self._ship_emblems_licenses_controller.get_unowned_ship_licenses(force_refresh=force_refresh)
     62 
     63     def get_owned_ship_licenses_for_ship(self, ship_id, force_refresh = False):
     64         return self._ship_emblems_licenses_controller.get_owned_ship_licenses_for_ship(ship_id, force_refresh=force_refresh)
     65 
     66     def get_ship_licenses_for_ship_type(self, ship_type_id):
     67         return self._ship_emblems_licenses_controller.get_ship_licenses_for_ship_type(ship_type_id)
     68 
     69     def get_by_ship_license_type_id(self, license_id):
     70         return self._ship_emblems_licenses_controller.get_by_ship_license_type_id(license_id)
     71 
     72     def debug_grant_ship_cosmetics_license(self, license_id):
     73         return self._ship_emblems_licenses_controller.debug_grant_ship_cosmetics_license(license_id)
     74 
     75     def debug_revoke_ship_cosmetics_license(self, license_id):
     76         return self._ship_emblems_licenses_controller.debug_revoke_ship_cosmetics_license(license_id)
     77 
     78     def request_license_for_structures(self, structure_ids, paintwork, duration):
     79         return self._structure_paintwork_licenses_controller.request_license_for_structures(structure_ids, paintwork, duration)
     80 
     81     def get_structure_paintwork_license(self, structure_id, license_id):
     82         return self._structure_paintwork_licenses_controller.get_license(structure_id, license_id)
     83 
     84     def request_revoke_license_for_structure(self, license_id):
     85         return self._structure_paintwork_licenses_controller.request_revoke_license(license_id)
     86 
     87     def get_structure_paintwork_licenses_catalogue(self):
     88         return self._structure_paintwork_licenses_controller.get_structure_paintwork_licenses_catalogue()
     89 
     90     def get_structure_licenses_for_corporation(self):
     91         return self._structure_paintwork_licenses_controller.get_licenses_for_corporation()
     92 
     93     def flush_paintwork_cache(self):
     94         self._structure_paintwork_licenses_controller.flush_cache()
     95 
     96     def admin_request_license_for_structures(self, structure_ids, paintwork, duration, lp_cost = -1):
     97         if session.role & ROLE_QA:
     98             return self._structure_paintwork_licenses_controller.admin_request_license_for_structures(structure_ids, paintwork, duration, lp_cost)