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

shipstance.py (1582B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\shipstance.py
      2 import inventorycommon.const as invconst
      3 import shipmode
      4 
      5 class ShipStanceButtonController(object):
      6 
      7     def get_ship_stance_buttons_args(self, type_id, shipID):
      8         btns = []
      9         try:
     10             ship_modes = shipmode.get_ship_modes_data(type_id)
     11         except KeyError:
     12             return btns
     13 
     14         for ship_mode in ship_modes:
     15             btns.append({'stanceID': ship_mode.get_key(),
     16              'iconNum': ship_mode.get_icon_num(),
     17              'stanceName': ship_mode.get_name(),
     18              'stanceDescription': ship_mode.get_description(),
     19              'stance': self.get_ship_stance(shipID, type_id)})
     20 
     21         return btns
     22 
     23     def get_ship_stance(self, ship_id, type_id, isSimulated = False):
     24         inv = shipmode.InventoryClient(sm.GetService('invCache'), ship_id, invconst.flagHiddenModifers)
     25         return shipmode.get_current_ship_stance(type_id, inv.list_items())
     26 
     27     def set_stance(self, stance_id, ship_id, type_id):
     28         if shipmode.data.ship_has_stances(type_id):
     29             sm.RemoteSvc('shipStanceMgr').SetShipStance(ship_id, stance_id)
     30 
     31 
     32 def get_ship_stance_buttons_args(type_id, shipID):
     33     return ShipStanceButtonController().get_ship_stance_buttons_args(type_id, shipID)
     34 
     35 
     36 def get_ship_stance(ship_id, type_id):
     37     return ShipStanceButtonController().get_ship_stance(ship_id, type_id)
     38 
     39 
     40 def set_stance(stance_id, ship_id, type_id):
     41     return ShipStanceButtonController().set_stance(stance_id, ship_id, type_id)