Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceThing.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceThing : SourceDataString<SourceThing.Row>
5{
6 [Serializable]
7 public class Row : CardRow
8 {
9 public string unknown_JP;
10
11 public string unit_JP;
12
13 public string naming;
14
15 public string unit;
16
17 public string unknown;
18
19 public int[] altTiles;
20
21 public int[] anime;
22
23 public string[] disassemble;
24
25 public int HP;
26
27 public int weight;
28
29 public int electricity;
30
31 public int range;
32
33 public string attackType;
34
35 public int[] offense;
36
37 public int[] substats;
38
39 public int[] defense;
40
41 public string idToggleExtra;
42
43 public string idActorEx;
44
45 public string workTag;
46
47 public string[] roomName_JP;
48
49 public string[] roomName;
50
51 public int[] _altTiles;
52
53 public bool ignoreAltFix;
54
55 [NonSerialized]
56 public string name_L;
57
58 [NonSerialized]
59 public string detail_L;
60
61 [NonSerialized]
62 public string unit_L;
63
64 [NonSerialized]
65 public string unknown_L;
66
67 [NonSerialized]
68 public string[] name2_L;
69
70 [NonSerialized]
71 public string[] roomName_L;
72
73 public override bool UseAlias => false;
74
75 public override string GetAlias => "n";
76
77 public override string RecipeID => id;
78
79 public override void OnImportData(SourceData data)
80 {
81 base.OnImportData(data);
82 _altTiles = new int[0];
83 }
84
85 public override void SetTiles()
86 {
87 if (!renderData || !renderData.pass)
88 {
89 return;
90 }
91 base.SetTiles();
92 if (_altTiles.Length != altTiles.Length)
93 {
94 _altTiles = new int[altTiles.Length];
95 int num = 0;
96 if (origin != null && !ignoreAltFix)
97 {
98 num = _tiles[0] - origin._tiles[0];
99 }
100 for (int i = 0; i < altTiles.Length; i++)
101 {
102 _altTiles[i] = altTiles[i] / 100 * (int)renderData.pass.pmesh.tiling.x + altTiles[i] % 100 + num;
103 }
104 }
105 }
106
107 public override string GetName(SourceMaterial.Row mat, int sum)
108 {
109 if (naming == "m")
110 {
111 return base.GetName(mat, sum);
112 }
113 if (naming == "ma")
114 {
115 return mat.GetName() + " (" + sum + ")";
116 }
117 return GetName() + " (" + sum + ")";
118 }
119
120 public override string GetName()
121 {
122 string text = GetText();
123 if (Lang.setting.nameStyle == 0)
124 {
125 return text;
126 }
127 if (!unit.IsEmpty())
128 {
129 return "_of".lang(text, unit);
130 }
131 return text;
132 }
133
134 public override string GetSearchName(bool jp)
135 {
136 if (jp)
137 {
138 return _nameSearchJP ?? (_nameSearchJP = GetText().ToLower());
139 }
140 return _nameSearch ?? (_nameSearch = (unit.IsEmpty() ? name : (unit + " of " + name)).ToLower());
141 }
142 }
143
144 public Dictionary<string, Row> _rows = new Dictionary<string, Row>();
145
146 public override string[] ImportFields => new string[4] { "unit", "unknown", "roomName", "name2" };
147
148 public override Row CreateRow()
149 {
150 return new Row
151 {
152 id = SourceData.GetString(0),
153 name_JP = SourceData.GetString(1),
154 unknown_JP = SourceData.GetString(2),
155 unit_JP = SourceData.GetString(3),
156 naming = SourceData.GetString(4),
157 name = SourceData.GetString(5),
158 unit = SourceData.GetString(6),
159 unknown = SourceData.GetString(7),
160 category = SourceData.GetString(8),
161 sort = SourceData.GetInt(10),
162 _tileType = SourceData.GetString(11),
163 _idRenderData = SourceData.GetString(12),
164 tiles = SourceData.GetIntArray(13),
165 altTiles = SourceData.GetIntArray(14),
166 anime = SourceData.GetIntArray(15),
167 skins = SourceData.GetIntArray(16),
168 size = SourceData.GetIntArray(17),
169 colorMod = SourceData.GetInt(18),
170 colorType = SourceData.GetString(19),
171 recipeKey = SourceData.GetStringArray(20),
172 factory = SourceData.GetStringArray(21),
173 components = SourceData.GetStringArray(22),
174 disassemble = SourceData.GetStringArray(23),
175 defMat = SourceData.GetString(24),
176 tierGroup = SourceData.GetString(25),
177 value = SourceData.GetInt(26),
178 LV = SourceData.GetInt(27),
179 chance = SourceData.GetInt(28),
180 quality = SourceData.GetInt(29),
181 HP = SourceData.GetInt(30),
182 weight = SourceData.GetInt(31),
183 electricity = SourceData.GetInt(32),
184 trait = SourceData.GetStringArray(33),
185 elements = Core.ParseElements(SourceData.GetStr(34)),
186 range = SourceData.GetInt(35),
187 attackType = SourceData.GetString(36),
188 offense = SourceData.GetIntArray(37),
189 substats = SourceData.GetIntArray(38),
190 defense = SourceData.GetIntArray(39),
191 lightData = SourceData.GetString(40),
192 idExtra = SourceData.GetString(41),
193 idToggleExtra = SourceData.GetString(42),
194 idActorEx = SourceData.GetString(43),
195 idSound = SourceData.GetString(44),
196 tag = SourceData.GetStringArray(45),
197 workTag = SourceData.GetString(46),
198 filter = SourceData.GetStringArray(47),
199 roomName_JP = SourceData.GetStringArray(48),
200 roomName = SourceData.GetStringArray(49),
201 detail_JP = SourceData.GetString(50),
202 detail = SourceData.GetString(51)
203 };
204 }
205
206 public override void SetRow(Row r)
207 {
208 map[r.id] = r;
209 }
210
211 public override void BackupPref()
212 {
213 _rows.Clear();
214 foreach (Row row in rows)
215 {
216 _rows[row.id] = row;
217 }
218 }
219
220 public override void RestorePref()
221 {
222 }
223}
CardRow origin
Definition: CardRow.cs:49
string id
Definition: CardRow.cs:7
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:714
Definition: Lang.cs:6
static LangSetting setting
Definition: Lang.cs:54
ProceduralMesh pmesh
Definition: MeshPass.cs:25
MeshPass pass
Definition: RenderData.cs:16
RenderData renderData
Definition: RenderRow.cs:71
string _nameSearch
Definition: RenderRow.cs:92
string name
Definition: RenderRow.cs:30
int[] _tiles
Definition: RenderRow.cs:12
string _nameSearchJP
Definition: RenderRow.cs:95
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:553
static string[] GetStringArray(int id)
Definition: SourceData.cs:741
static string GetString(int id)
Definition: SourceData.cs:746
static int GetInt(int id)
Definition: SourceData.cs:711
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:751
static int[] GetIntArray(int id)
Definition: SourceData.cs:736
string[] name2_L
Definition: SourceThing.cs:68
override bool UseAlias
Definition: SourceThing.cs:73
override string GetAlias
Definition: SourceThing.cs:75
string[] disassemble
Definition: SourceThing.cs:23
string unknown_JP
Definition: SourceThing.cs:9
override string GetName(SourceMaterial.Row mat, int sum)
Definition: SourceThing.cs:107
string idActorEx
Definition: SourceThing.cs:43
override void SetTiles()
Definition: SourceThing.cs:85
override string GetName()
Definition: SourceThing.cs:120
string[] roomName
Definition: SourceThing.cs:49
override string GetSearchName(bool jp)
Definition: SourceThing.cs:134
override string RecipeID
Definition: SourceThing.cs:77
override void OnImportData(SourceData data)
Definition: SourceThing.cs:79
string[] roomName_L
Definition: SourceThing.cs:71
string[] roomName_JP
Definition: SourceThing.cs:47
string attackType
Definition: SourceThing.cs:33
string unknown_L
Definition: SourceThing.cs:65
string idToggleExtra
Definition: SourceThing.cs:41
override void RestorePref()
Definition: SourceThing.cs:220
override string[] ImportFields
Definition: SourceThing.cs:146
override void SetRow(Row r)
Definition: SourceThing.cs:206
override void BackupPref()
Definition: SourceThing.cs:211
override Row CreateRow()
Definition: SourceThing.cs:148
Dictionary< string, Row > _rows
Definition: SourceThing.cs:144