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)