Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RegionInfo.cs
Go to the documentation of this file.
2
4
5public class RegionInfo
6{
7 private string _name;
8
9 private readonly CultureData _cultureData;
10
11 internal static volatile RegionInfo s_currentRegionInfo;
12
14 {
15 get
16 {
18 if (regionInfo == null)
19 {
21 regionInfo._name = regionInfo._cultureData.RegionName;
22 s_currentRegionInfo = regionInfo;
23 }
24 return regionInfo;
25 }
26 }
27
28 public virtual string Name => _name;
29
31
33
34 public virtual string NativeName => _cultureData.NativeCountryName;
35
37
39
41
42 public virtual bool IsMetric => _cultureData.MeasurementSystem == 0;
43
44 public virtual int GeoId => _cultureData.GeoId;
45
47
49
50 public virtual string CurrencySymbol => _cultureData.CurrencySymbol;
51
53
54 public RegionInfo(string name)
55 {
56 if (name == null)
57 {
58 throw new ArgumentNullException("name");
59 }
60 if (name.Length == 0)
61 {
63 }
64 _cultureData = CultureData.GetCultureDataForRegion(name, useUserOverride: true) ?? throw new ArgumentException(SR.Format(SR.Argument_InvalidCultureName, name), "name");
66 {
68 }
70 }
71
72 public RegionInfo(int culture)
73 {
74 switch (culture)
75 {
76 case 127:
78 case 0:
80 case 3072:
82 }
83 _cultureData = CultureData.GetCultureData(culture, bUseUserOverride: true);
86 {
88 }
89 }
90
91 internal RegionInfo(CultureData cultureData)
92 {
93 _cultureData = cultureData;
95 }
96
97 public override bool Equals([NotNullWhen(true)] object? value)
98 {
99 if (value is RegionInfo regionInfo)
100 {
101 return Name.Equals(regionInfo.Name);
102 }
103 return false;
104 }
105
106 public override int GetHashCode()
107 {
108 return Name.GetHashCode();
109 }
110
111 public override string ToString()
112 {
113 return Name;
114 }
115}
static CultureData GetCultureData(string cultureName, bool useUserOverride)
static CultureData GetCultureDataForRegion(string cultureName, bool useUserOverride)
static unsafe CultureData GetCurrentRegionData()
virtual string TwoLetterISORegionName
Definition RegionInfo.cs:36
readonly CultureData _cultureData
Definition RegionInfo.cs:9
override bool Equals([NotNullWhen(true)] object? value)
Definition RegionInfo.cs:97
virtual string ThreeLetterISORegionName
Definition RegionInfo.cs:38
RegionInfo(CultureData cultureData)
Definition RegionInfo.cs:91
static volatile RegionInfo s_currentRegionInfo
Definition RegionInfo.cs:11
virtual string CurrencyEnglishName
Definition RegionInfo.cs:46
virtual string ThreeLetterWindowsRegionName
Definition RegionInfo.cs:40
static RegionInfo CurrentRegion
Definition RegionInfo.cs:14
virtual string CurrencyNativeName
Definition RegionInfo.cs:48
static string Argument_NoRegionInvariantCulture
Definition SR.cs:802
static string Argument_InvalidCultureName
Definition SR.cs:660
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string Argument_InvalidNeutralRegionName
Definition SR.cs:716
static string Argument_CultureIsNeutral
Definition SR.cs:546
static string Argument_CustomCultureCannotBePassedByNumber
Definition SR.cs:554
Definition SR.cs:7