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