Elin Decompiled Documentation EA 23.244 Nightly
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
79 public SourceRace.Row race_row => _race_row ?? (_race_row = base.sources.races.map[race]);
80
81 public override string RecipeID => id;
82
83 public override string GetSearchName(bool jp)
84 {
85 object obj;
86 if (!jp)
87 {
88 obj = _nameSearch;
89 if (obj == null)
90 {
91 return _nameSearch = (name.StartsWith("*") ? aka : name).ToLower();
92 }
93 }
94 else
95 {
96 obj = _nameSearchJP ?? (_nameSearchJP = (name_JP.StartsWith("*") ? GetText("aka") : GetText()).ToLower());
97 }
98 return (string)obj;
99 }
100
101 public override void SetTiles()
102 {
103 base.SetTiles();
104 staticSkin = HasTag(CTAG.staticSkin);
105 if (!renderData || !renderData.pass)
106 {
107 return;
108 }
109 if (_tiles_snow == null || _tiles_snow.Length != tiles_snow.Length)
110 {
111 _tiles_snow = new int[tiles_snow.Length];
112 for (int i = 0; i < tiles_snow.Length; i++)
113 {
114 _tiles_snow[i] = tiles_snow[i] / 100 * (int)renderData.pass.pmesh.tiling.x + tiles_snow[i] % 100;
115 }
116 }
117 skinAntiSpider = ((staticSkin && HasTag(CTAG.antiSpider)) ? 1 : 0);
118 }
119
120 public override string GetName()
121 {
122 string text = GetText();
123 text = text.Replace("#ele5", "").Replace("#ele4", "").Replace("#ele3", "")
124 .Replace("#ele2", "")
125 .Replace("#ele", "");
126 if (text == "*r")
127 {
128 text = GetText("aka");
129 }
130 if (text[0] == ' ')
131 {
132 text = text.TrimStart(' ');
133 }
134 return text.Replace(" ", " ");
135 }
136 }
137
138 public Dictionary<string, Row> _rows = new Dictionary<string, Row>();
139
140 public static Row rowDefaultPCC;
141
142 public override string[] ImportFields => new string[1] { "aka" };
143
144 public override Row CreateRow()
145 {
146 Row obj = new Row();
147 obj.id = SourceData.GetString(0);
148 obj._id = SourceData.GetInt(1);
149 obj.name_JP = SourceData.GetString(2);
150 obj.name = SourceData.GetString(3);
151 obj.aka_JP = SourceData.GetString(4);
152 obj.aka = SourceData.GetString(5);
153 obj.idActor = SourceData.GetStringArray(6);
154 obj.sort = SourceData.GetInt(7);
155 obj.size = SourceData.GetIntArray(8);
156 obj._idRenderData = SourceData.GetString(9);
157 obj.tiles = SourceData.GetIntArray(10);
158 obj.tiles_snow = SourceData.GetIntArray(11);
159 obj.colorMod = SourceData.GetInt(12);
160 obj.components = SourceData.GetStringArray(13);
161 obj.defMat = SourceData.GetString(14);
162 obj.LV = SourceData.GetInt(15);
163 obj.chance = SourceData.GetInt(16);
164 obj.quality = SourceData.GetInt(17);
165 obj.hostility = SourceData.GetString(18);
166 obj.biome = SourceData.GetString(19);
167 obj.tag = SourceData.GetStringArray(20);
168 obj.trait = SourceData.GetStringArray(21);
169 obj.race = SourceData.GetString(22);
170 obj.job = SourceData.GetString(23);
171 obj.tactics = SourceData.GetString(24);
172 obj.aiIdle = SourceData.GetString(25);
173 obj.aiParam = SourceData.GetIntArray(26);
174 obj.actCombat = SourceData.GetStringArray(27);
175 obj.mainElement = SourceData.GetStringArray(28);
176 obj.elements = Core.ParseElements(SourceData.GetStr(29));
177 obj.equip = SourceData.GetString(30);
178 obj.loot = SourceData.GetStringArray(31);
179 obj.category = SourceData.GetString(32);
180 obj.filter = SourceData.GetStringArray(33);
181 obj.gachaFilter = SourceData.GetStringArray(34);
182 obj.tone = SourceData.GetString(35);
183 obj.actIdle = SourceData.GetStringArray(36);
184 obj.lightData = SourceData.GetString(37);
185 obj.idExtra = SourceData.GetString(38);
186 obj.bio = SourceData.GetString(39);
187 obj.faith = SourceData.GetString(40);
188 obj.works = SourceData.GetStringArray(41);
189 obj.hobbies = SourceData.GetStringArray(42);
190 obj.idText = SourceData.GetString(43);
191 obj.moveAnime = SourceData.GetString(44);
192 obj.factory = SourceData.GetStringArray(45);
193 obj.components = SourceData.GetStringArray(46);
194 obj.recruitItems = SourceData.GetStringArray(47);
195 obj.detail_JP = SourceData.GetString(48);
196 obj.detail = SourceData.GetString(49);
197 return obj;
198 }
199
200 public override void SetRow(Row r)
201 {
202 map[r.id] = r;
203 }
204
205 public override void BackupPref()
206 {
207 SourceAsset._SavePrefs("prefs_auto");
208 _rows.Clear();
209 foreach (Row row in rows)
210 {
211 _rows[row.id] = row;
212 }
213 }
214
215 public override void RestorePref()
216 {
217 foreach (Row row in rows)
218 {
219 row.pref = _rows.TryGetValue(row.id)?.pref ?? new SourcePref();
220 }
221 }
222
223 public override void ValidatePref()
224 {
225 foreach (Row row in rows)
226 {
227 row.pref.Validate();
228 }
229 }
230}
CTAG
Definition: CTAG.cs:2
string id
Definition: CardRow.cs:7
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:722
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:83
string hostility
Definition: SourceChara.cs:17
string[] hobbies
Definition: SourceChara.cs:49
SourceRace.Row race_row
Definition: SourceChara.cs:79
override void SetTiles()
Definition: SourceChara.cs:101
override string GetName()
Definition: SourceChara.cs:120
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:81
string moveAnime
Definition: SourceChara.cs:53
override void BackupPref()
Definition: SourceChara.cs:205
override Row CreateRow()
Definition: SourceChara.cs:144
Dictionary< string, Row > _rows
Definition: SourceChara.cs:138
override void ValidatePref()
Definition: SourceChara.cs:223
static Row rowDefaultPCC
Definition: SourceChara.cs:140
override void SetRow(Row r)
Definition: SourceChara.cs:200
override void RestorePref()
Definition: SourceChara.cs:215
override string[] ImportFields
Definition: SourceChara.cs:142
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
void Validate()
Definition: SourcePref.cs:339