Elin Decompiled Documentation EA 23.283 Nightly Patch 2
Loading...
Searching...
No Matches
SourceChara.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceChara : SourceDataString<SourceChara.Row>
5{
6 [Serializable]
7 public class Row : CardRow
8 {
9 public int _id;
10
11 public string aka_JP;
12
13 public string aka;
14
15 public int[] tiles_snow;
16
17 public string hostility;
18
19 public string biome;
20
21 public string race;
22
23 public string job;
24
25 public string tactics;
26
27 public string aiIdle;
28
29 public int[] aiParam;
30
31 public string[] actCombat;
32
33 public string[] mainElement;
34
35 public string equip;
36
37 public string[] gachaFilter;
38
39 public string tone;
40
41 public string[] actIdle;
42
43 public string bio;
44
45 public string faith;
46
47 public string[] works;
48
49 public string[] hobbies;
50
51 public string idText;
52
53 public string moveAnime;
54
55 public string[] recruitItems;
56
57 public bool staticSkin;
58
59 public int[] _tiles_snow;
60
61 public int skinAntiSpider;
62
63 [NonSerialized]
65
66 [NonSerialized]
67 public string name_L;
68
69 [NonSerialized]
70 public string detail_L;
71
72 [NonSerialized]
73 public string aka_L;
74
75 public override bool UseAlias => false;
76
77 public override string GetAlias => "n";
78
80 {
81 get
82 {
84 if (row == null)
85 {
86 SourceRace.Row obj = base.sources.races.map.TryGetValue(race) ?? base.sources.races.map["norland"];
87 SourceRace.Row row2 = obj;
88 _race_row = obj;
89 row = row2;
90 }
91 return row;
92 }
93 }
94
95 public override string RecipeID => id;
96
97 public override string GetSearchName(bool jp)
98 {
99 object obj;
100 if (!jp)
101 {
102 obj = _nameSearch;
103 if (obj == null)
104 {
105 return _nameSearch = (name.StartsWith("*") ? aka : name).ToLower();
106 }
107 }
108 else
109 {
110 obj = _nameSearchJP ?? (_nameSearchJP = (name_JP.StartsWith("*") ? GetText("aka") : GetText()).ToLower());
111 }
112 return (string)obj;
113 }
114
115 public override void SetTiles()
116 {
117 base.SetTiles();
118 staticSkin = HasTag(CTAG.staticSkin);
119 if (!renderData || !renderData.pass)
120 {
121 return;
122 }
123 if (_tiles_snow == null || _tiles_snow.Length != tiles_snow.Length)
124 {
125 _tiles_snow = new int[tiles_snow.Length];
126 for (int i = 0; i < tiles_snow.Length; i++)
127 {
128 _tiles_snow[i] = tiles_snow[i] / 100 * (int)renderData.pass.pmesh.tiling.x + tiles_snow[i] % 100;
129 }
130 }
131 skinAntiSpider = ((staticSkin && HasTag(CTAG.antiSpider)) ? 1 : 0);
132 }
133
134 public override string GetName()
135 {
136 string text = GetText();
137 text = text.Replace("#ele5", "").Replace("#ele4", "").Replace("#ele3", "")
138 .Replace("#ele2", "")
139 .Replace("#ele", "");
140 if (text == "*r")
141 {
142 text = GetText("aka");
143 }
144 if (text[0] == ' ')
145 {
146 text = text.TrimStart(' ');
147 }
148 return text.Replace(" ", " ");
149 }
150 }
151
152 public Dictionary<string, Row> _rows = new Dictionary<string, Row>();
153
154 public static Row rowDefaultPCC;
155
156 public override string[] ImportFields => new string[1] { "aka" };
157
158 public override Row CreateRow()
159 {
160 Row obj = new Row();
161 obj.id = SourceData.GetString(0);
162 obj._id = SourceData.GetInt(1);
163 obj.name_JP = SourceData.GetString(2);
164 obj.name = SourceData.GetString(3);
165 obj.aka_JP = SourceData.GetString(4);
166 obj.aka = SourceData.GetString(5);
167 obj.idActor = SourceData.GetStringArray(6);
168 obj.sort = SourceData.GetInt(7);
169 obj.size = SourceData.GetIntArray(8);
170 obj._idRenderData = SourceData.GetString(9);
171 obj.tiles = SourceData.GetIntArray(10);
172 obj.tiles_snow = SourceData.GetIntArray(11);
173 obj.colorMod = SourceData.GetInt(12);
174 obj.components = SourceData.GetStringArray(13);
175 obj.defMat = SourceData.GetString(14);
176 obj.LV = SourceData.GetInt(15);
177 obj.chance = SourceData.GetInt(16);
178 obj.quality = SourceData.GetInt(17);
179 obj.hostility = SourceData.GetString(18);
180 obj.biome = SourceData.GetString(19);
181 obj.tag = SourceData.GetStringArray(20);
182 obj.trait = SourceData.GetStringArray(21);
183 obj.race = SourceData.GetString(22);
184 obj.job = SourceData.GetString(23);
185 obj.tactics = SourceData.GetString(24);
186 obj.aiIdle = SourceData.GetString(25);
187 obj.aiParam = SourceData.GetIntArray(26);
188 obj.actCombat = SourceData.GetStringArray(27);
189 obj.mainElement = SourceData.GetStringArray(28);
190 obj.elements = Core.ParseElements(SourceData.GetStr(29));
191 obj.equip = SourceData.GetString(30);
192 obj.loot = SourceData.GetStringArray(31);
193 obj.category = SourceData.GetString(32);
194 obj.filter = SourceData.GetStringArray(33);
195 obj.gachaFilter = SourceData.GetStringArray(34);
196 obj.tone = SourceData.GetString(35);
197 obj.actIdle = SourceData.GetStringArray(36);
198 obj.lightData = SourceData.GetString(37);
199 obj.idExtra = SourceData.GetString(38);
200 obj.bio = SourceData.GetString(39);
201 obj.faith = SourceData.GetString(40);
202 obj.works = SourceData.GetStringArray(41);
203 obj.hobbies = SourceData.GetStringArray(42);
204 obj.idText = SourceData.GetString(43);
205 obj.moveAnime = SourceData.GetString(44);
206 obj.factory = SourceData.GetStringArray(45);
207 obj.components = SourceData.GetStringArray(46);
208 obj.recruitItems = SourceData.GetStringArray(47);
209 obj.detail_JP = SourceData.GetString(48);
210 obj.detail = SourceData.GetString(49);
211 return obj;
212 }
213
214 public override void SetRow(Row r)
215 {
216 map[r.id] = r;
217 }
218
219 public override void BackupPref()
220 {
221 SourceAsset._SavePrefs("prefs_auto");
222 _rows.Clear();
223 foreach (Row row in rows)
224 {
225 _rows[row.id] = row;
226 }
227 }
228
229 public override void RestorePref()
230 {
231 foreach (Row row in rows)
232 {
233 row.pref = _rows.TryGetValue(row.id)?.pref ?? new SourcePref();
234 }
235 }
236
237 public override void ValidatePref()
238 {
239 foreach (Row row in rows)
240 {
241 row.pref.Validate();
242 }
243 }
244}
CTAG
Definition: CTAG.cs:2
string id
Definition: CardRow.cs:7
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:726
ProceduralMesh pmesh
Definition: MeshPass.cs:25
MeshPass pass
Definition: RenderData.cs:16
RenderData renderData
Definition: RenderRow.cs:71
SourcePref pref
Definition: RenderRow.cs:68
bool HasTag(CTAG _tag)
Definition: RenderRow.cs:125
string _nameSearch
Definition: RenderRow.cs:92
string name
Definition: RenderRow.cs:30
string _nameSearchJP
Definition: RenderRow.cs:95
string name_JP
Definition: RenderRow.cs:32
static void _SavePrefs(string id="prefs")
Definition: SourceAsset.cs:36
string[] gachaFilter
Definition: SourceChara.cs:37
string[] works
Definition: SourceChara.cs:47
override bool UseAlias
Definition: SourceChara.cs:75
SourceRace.Row _race_row
Definition: SourceChara.cs:64
override string GetAlias
Definition: SourceChara.cs:77
override string GetSearchName(bool jp)
Definition: SourceChara.cs:97
string hostility
Definition: SourceChara.cs:17
string[] hobbies
Definition: SourceChara.cs:49
SourceRace.Row race_row
Definition: SourceChara.cs:80
override void SetTiles()
Definition: SourceChara.cs:115
override string GetName()
Definition: SourceChara.cs:134
string[] actCombat
Definition: SourceChara.cs:31
string[] mainElement
Definition: SourceChara.cs:33
string[] recruitItems
Definition: SourceChara.cs:55
string[] actIdle
Definition: SourceChara.cs:41
override string RecipeID
Definition: SourceChara.cs:95
string moveAnime
Definition: SourceChara.cs:53
override void BackupPref()
Definition: SourceChara.cs:219
override Row CreateRow()
Definition: SourceChara.cs:158
Dictionary< string, Row > _rows
Definition: SourceChara.cs:152
override void ValidatePref()
Definition: SourceChara.cs:237
static Row rowDefaultPCC
Definition: SourceChara.cs:154
override void SetRow(Row r)
Definition: SourceChara.cs:214
override void RestorePref()
Definition: SourceChara.cs:229
override string[] ImportFields
Definition: SourceChara.cs:156
string GetText(string id="name", bool returnNull=false)
Definition: SourceData.cs:626
static string[] GetStringArray(int id)
Definition: SourceData.cs:915
static string GetString(int id)
Definition: SourceData.cs:920
static int GetInt(int id)
Definition: SourceData.cs:885
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:925
static int[] GetIntArray(int id)
Definition: SourceData.cs:910
void Validate()
Definition: SourcePref.cs:351