final abstract class UILocalizationHelper { public static function GetStatNameLockey( statRecord : weak< Stat_Record > ) : String { var statType : gamedataStatType; var lockey : String; var proficiencyRecord : weak< Proficiency_Record >; statType = statRecord.StatType(); if( IsStatProficiency( statType ) ) { proficiencyRecord = TweakDBInterface.GetProficiencyRecord( TDBID.Create( "Proficiencies." + EnumValueToString( "gamedataStatType", ( ( Int32 )( statType ) ) ) ) ); if( proficiencyRecord ) { lockey = proficiencyRecord.Loc_name_key(); if( IsStringValid( lockey ) ) { return lockey; } } } return statRecord.LocalizedName(); } private static function IsStatProficiency( statType : gamedataStatType ) : Bool { return ( ( ( ( ( ( ( ( ( ( ( statType == gamedataStatType.Level || statType == gamedataStatType.StreetCred ) || statType == gamedataStatType.Gunslinger ) || statType == gamedataStatType.Assault ) || statType == gamedataStatType.Demolition ) || statType == gamedataStatType.Athletics ) || statType == gamedataStatType.Brawling ) || statType == gamedataStatType.ColdBlood ) || statType == gamedataStatType.Stealth ) || statType == gamedataStatType.Engineering ) || statType == gamedataStatType.Crafting ) || statType == gamedataStatType.Hacking ) || statType == gamedataStatType.CombatHacking; } public static function GetSystemBaseUnit() : EMeasurementUnit { var measurementSystem : EMeasurementSystem; measurementSystem = MeasurementUtils.GetPlayerSettingSystem(); switch( measurementSystem ) { case EMeasurementSystem.Metric: return EMeasurementUnit.Meter; case EMeasurementSystem.Imperial: return EMeasurementUnit.Feet; } return EMeasurementUnit.Meter; } }