Elin Decompiled Documentation EA 23.306 Nightly
Loading...
Searching...
No Matches
LangList.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class LangList : SourceDataString<LangList.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public string id;
10
11 public string filter;
12
13 public string[] text_JP;
14
15 public string[] text;
16
17 [NonSerialized]
18 public string[] text_L;
19
20 public override bool UseAlias => false;
21
22 public override string GetAlias => "n";
23 }
24
25 public static readonly IReadOnlyDictionary<string, int> RowMapping = new Dictionary<string, int>
26 {
27 ["id"] = 0,
28 ["filter"] = 1,
29 ["text_JP"] = 2,
30 ["text"] = 3
31 };
32
33 public override bool AllowHotInitialization => true;
34
35 public override Row CreateRow()
36 {
37 return new Row
38 {
39 id = SourceData.GetString(0),
40 filter = SourceData.GetString(1),
41 text_JP = SourceData.GetStringArray(2),
43 };
44 }
45
46 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
47 {
48 return new Row
49 {
50 id = SourceData.GetString(mapping["id"]),
51 filter = SourceData.GetString(mapping["filter"]),
52 text_JP = SourceData.GetStringArray(mapping["text_JP"]),
53 text = SourceData.GetStringArray(mapping["text"])
54 };
55 }
56
57 public override void SetRow(Row r)
58 {
59 map[r.id] = r;
60 }
61
62 public override IReadOnlyDictionary<string, int> GetRowMapping()
63 {
64 return RowMapping;
65 }
66
67 public override string[] GetList(string id)
68 {
69 Row row = map.TryGetValue(id);
70 if (row == null)
71 {
72 return null;
73 }
74 if (!Lang.isBuiltin)
75 {
76 if (row.text_L == null || row.text_L.Length == 0)
77 {
78 return row.text;
79 }
80 return row.text_L;
81 }
82 if (!Lang.isJP)
83 {
84 return row.text;
85 }
86 return row.text_JP;
87 }
88}
string filter
Definition: LangList.cs:11
string id
Definition: LangList.cs:9
override string GetAlias
Definition: LangList.cs:22
string[] text_L
Definition: LangList.cs:18
string[] text
Definition: LangList.cs:15
override bool UseAlias
Definition: LangList.cs:20
string[] text_JP
Definition: LangList.cs:13
override bool AllowHotInitialization
Definition: LangList.cs:33
override IReadOnlyDictionary< string, int > GetRowMapping()
Definition: LangList.cs:62
override Row CreateRow()
Definition: LangList.cs:35
override string[] GetList(string id)
Definition: LangList.cs:67
static readonly IReadOnlyDictionary< string, int > RowMapping
Definition: LangList.cs:25
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
Definition: LangList.cs:46
override void SetRow(Row r)
Definition: LangList.cs:57
Definition: Lang.cs:6
static bool isBuiltin
Definition: Lang.cs:42
static bool isJP
Definition: Lang.cs:38
static string[] GetStringArray(int id)
Definition: SourceData.cs:978
static string GetString(int id)
Definition: SourceData.cs:983