Elin Decompiled Documentation EA 23.321 Nightly Patch 1
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 static readonly IReadOnlyDictionary<string, string> TypeMapping = new Dictionary<string, string>
34 {
35 ["id"] = "string",
36 ["filter"] = "string",
37 ["text_JP"] = "string[]",
38 ["text"] = "string[]"
39 };
40
41 public override bool AllowHotInitialization => true;
42
43 public override Row CreateRow()
44 {
45 return new Row
46 {
47 id = SourceData.GetString(0),
48 filter = SourceData.GetString(1),
49 text_JP = SourceData.GetStringArray(2),
51 };
52 }
53
54 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
55 {
56 return new Row
57 {
58 id = SourceData.GetString(mapping["id"]),
59 filter = SourceData.GetString(mapping["filter"]),
60 text_JP = SourceData.GetStringArray(mapping["text_JP"]),
61 text = SourceData.GetStringArray(mapping["text"])
62 };
63 }
64
65 public override void SetRow(Row r)
66 {
67 map[r.id] = r;
68 }
69
70 public override IReadOnlyDictionary<string, int> GetRowMapping()
71 {
72 return RowMapping;
73 }
74
75 public override IReadOnlyDictionary<string, string> GetTypeMapping()
76 {
77 return TypeMapping;
78 }
79
80 public override string[] GetList(string id)
81 {
82 Row row = map.TryGetValue(id);
83 if (row == null)
84 {
85 return null;
86 }
87 if (!Lang.isBuiltin)
88 {
89 if (row.text_L == null || row.text_L.Length == 0)
90 {
91 return row.text;
92 }
93 return row.text_L;
94 }
95 if (!Lang.isJP)
96 {
97 return row.text;
98 }
99 return row.text_JP;
100 }
101}
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:41
override IReadOnlyDictionary< string, int > GetRowMapping()
Definition: LangList.cs:70
override Row CreateRow()
Definition: LangList.cs:43
override string[] GetList(string id)
Definition: LangList.cs:80
static readonly IReadOnlyDictionary< string, string > TypeMapping
Definition: LangList.cs:33
override IReadOnlyDictionary< string, string > GetTypeMapping()
Definition: LangList.cs:75
static readonly IReadOnlyDictionary< string, int > RowMapping
Definition: LangList.cs:25
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
Definition: LangList.cs:54
override void SetRow(Row r)
Definition: LangList.cs:65
Definition: Lang.cs:7
static bool isBuiltin
Definition: Lang.cs:43
static bool isJP
Definition: Lang.cs:39
static string[] GetStringArray(int id)
Definition: SourceData.cs:1011
static string GetString(int id)
Definition: SourceData.cs:1016