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

defaultRangeUtils.py (2278B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\util\defaultRangeUtils.py
      2 _RANGE_BY_TYPE_SETTING_FORMAT = 'defaultType%sDist'
      3 WARP_TO_SETTING = 'WarpTo'
      4 ORBIT_SETTING = 'Orbit'
      5 KEEP_AT_RANGE_SETTING = 'KeepAtRange'
      6 _GENERIC_TYPE_ID = 0
      7 DEFAULT_RANGES = {WARP_TO_SETTING: const.minWarpEndDistance,
      8  ORBIT_SETTING: 1000,
      9  KEEP_AT_RANGE_SETTING: 1000}
     10 RANGES_THAT_APPLY_TO_ALL_SHIP_TYPES = [WARP_TO_SETTING]
     11 
     12 def _GetCurrentShipTypeID():
     13     if session.shipid and session.solarsystemid:
     14         shipItem = sm.GetService('godma').GetItem(session.shipid)
     15         if shipItem:
     16             return shipItem.typeID
     17 
     18 
     19 def UpdateRangeSetting(key, newRange):
     20     typeRangeSettings = _GetRangeSetting(key)
     21     if key not in RANGES_THAT_APPLY_TO_ALL_SHIP_TYPES:
     22         typeID = _GetCurrentShipTypeID()
     23         if typeID is not None:
     24             typeRangeSettings[typeID] = newRange
     25     typeRangeSettings[_GENERIC_TYPE_ID] = newRange
     26     _UpdateRangeSetting(key, typeRangeSettings)
     27 
     28 
     29 def UpdateRangeSettingForShipType(typeID, key, newRange):
     30     typeRangeSettings = _GetRangeSetting(key)
     31     if key not in RANGES_THAT_APPLY_TO_ALL_SHIP_TYPES:
     32         typeRangeSettings[typeID] = newRange
     33     _UpdateRangeSetting(key, typeRangeSettings)
     34 
     35 
     36 def _GetRangeSetting(key):
     37     return settings.char.ui.Get(_RANGE_BY_TYPE_SETTING_FORMAT % key, {})
     38 
     39 
     40 def _UpdateRangeSetting(key, typeRangeSettings):
     41     settings.char.ui.Set(_RANGE_BY_TYPE_SETTING_FORMAT % key, typeRangeSettings)
     42     sm.ScatterEvent('OnDistSettingsChange')
     43 
     44 
     45 def FetchRangeSetting(key):
     46     if key not in DEFAULT_RANGES:
     47         return
     48     typeRangeSettings = _GetRangeSetting(key)
     49     if key not in RANGES_THAT_APPLY_TO_ALL_SHIP_TYPES:
     50         typeID = _GetCurrentShipTypeID()
     51         if typeID is not None and typeID in typeRangeSettings:
     52             return typeRangeSettings[typeID]
     53     if _GENERIC_TYPE_ID in typeRangeSettings:
     54         return typeRangeSettings[_GENERIC_TYPE_ID]
     55     return DEFAULT_RANGES[key]
     56 
     57 
     58 def SetDefaultKeepAtRangeDist(newRange, *args):
     59     UpdateRangeSetting('KeepAtRange', newRange)
     60 
     61 
     62 def SetDefaultOrbitDist(newRange, *args):
     63     UpdateRangeSetting('Orbit', newRange)
     64 
     65 
     66 def SetDefaultWarpToDist(newRange, *args):
     67     UpdateRangeSetting('WarpTo', newRange)