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