Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceLang.cs
Go to the documentation of this file.
1using System.Text;
2
3public class SourceLang<T> : SourceData<T, string> where T : LangRow
4{
5 public override bool AllowHotInitialization => true;
6
7 public override T GetRow(string id)
8 {
9 return map.TryGetValue(id);
10 }
11
12 public string Get(string id)
13 {
14 T val = map.TryGetValue(id);
15 if (val == null)
16 {
17 return id;
18 }
19 if (!Lang.isBuiltin)
20 {
21 if (val.text_L.IsEmpty() && !val.text.IsEmpty())
22 {
23 return val.text;
24 }
25 return val.text_L;
26 }
27 if (!Lang.isJP)
28 {
29 return val.text;
30 }
31 return val.text_JP;
32 }
33
34 public string TryGetId(string id, string id2)
35 {
36 if (map.TryGetValue(id) == null)
37 {
38 return id2;
39 }
40 return id;
41 }
42
43 public string Parse(string idLang, string val1, string val2 = null, string val3 = null, string val4 = null)
44 {
45 StringBuilder stringBuilder = new StringBuilder(Get(idLang));
46 stringBuilder.Replace("#1", val1 ?? "");
47 if (val2 != null)
48 {
49 stringBuilder.Replace("#2", val2);
50 }
51 if (val3 != null)
52 {
53 stringBuilder.Replace("#3", val3);
54 }
55 if (val4 != null)
56 {
57 stringBuilder.Replace("#4", val4);
58 }
59 return stringBuilder.ToString();
60 }
61}
Definition: Lang.cs:6
static bool isBuiltin
Definition: Lang.cs:42
static bool isJP
Definition: Lang.cs:38
Dictionary< T2, T > map
Definition: SourceData.cs:63
string Get(string id)
Definition: SourceLang.cs:12
override T GetRow(string id)
Definition: SourceLang.cs:7
string Parse(string idLang, string val1, string val2=null, string val3=null, string val4=null)
Definition: SourceLang.cs:43
override bool AllowHotInitialization
Definition: SourceLang.cs:5
string TryGetId(string id, string id2)
Definition: SourceLang.cs:34