97 {
100 {
101 dictionary[row2.id] = row2;
102 }
103 System.Reflection.FieldInfo[] fields =
EClass.
sources.
things.rows[0].GetType().GetFields();
104 foreach (Row row3 in rows)
105 {
108 System.Reflection.FieldInfo[] array = fields;
109 foreach (System.Reflection.FieldInfo fieldInfo in array)
110 {
111 if (!(fieldInfo.Name == "parse"))
112 {
113 row.SetField(fieldInfo.Name, o.GetField<object>(fieldInfo.Name));
114 }
115 }
117 row._origin = row3._origin;
118 if (row3.LV != 0)
119 {
120 row.LV = row3.LV;
121 }
122 if (row3.chance != -1)
123 {
124 row.chance = row3.chance;
125 }
126 if (row3.value != -1)
127 {
128 row.value = row3.value;
129 }
130 else
131 {
133 }
134 if (row3.weight != -1)
135 {
136 row.weight = row3.weight;
137 }
138 if (!row3.tiles.IsEmpty())
139 {
140 row.tiles = row3.tiles;
141 }
142 if (!row3.skins.IsEmpty())
143 {
144 row.skins = row3.skins;
145 }
146 if (!row3.name.IsEmpty())
147 {
148 row.name = row3.name;
149 }
150 if (!row3.name_JP.IsEmpty())
151 {
152 row.name_JP = row3.name_JP;
153 }
154 if (!row3.detail.IsEmpty())
155 {
156 row.detail = row3.detail;
157 }
158 if (!row3.detail_JP.IsEmpty())
159 {
160 row.detail_JP = row3.detail_JP;
161 }
162 if (!row3.unit.IsEmpty())
163 {
164 row.unit = row3.unit;
165 }
166 if (!row3.unit_JP.IsEmpty())
167 {
168 row.unit_JP = row3.unit_JP;
169 }
170 if (!row3.vals.IsEmpty())
171 {
172 row.vals = row3.vals;
173 }
174 if (!row3.components.IsEmpty())
175 {
176 row.components = row3.components;
177 }
178 if (!row3.defMat.IsEmpty())
179 {
180 row.defMat = row3.defMat;
181 }
182 if (!row3.trait.IsEmpty())
183 {
184 row.trait = row3.trait;
185 }
186 if (!row3.category.IsEmpty())
187 {
188 row.category = row3.category;
189 }
190 if (!row3.factory.IsEmpty())
191 {
192 row.factory = row3.factory;
193 }
194 if (!row3.tag.IsEmpty())
195 {
196 row.tag = row3.tag;
197 }
198 row.recipeKey = row3.recipeKey;
199 if (!row3.parse.IsEmpty())
200 {
201 switch (row3._origin)
202 {
203 case "lamp_ceil2":
204 case "window":
205 case "windowL":
206 row.idExtra = row3.parse[0];
207 break;
208 default:
209 {
210 string[] parse = row3.parse;
211 for (int i = 0; i < parse.Length; i++)
212 {
213 string[] array2 = parse[i].Split('/');
214 switch (array2[0])
215 {
216 case "render":
217 row._idRenderData = array2[1];
218 break;
219 case "tiletype":
220 row._tileType = array2[1];
221 break;
222 case "anime":
223 row.anime = ((array2.Length <= 4) ? ((array2.Length <= 3) ? new int[2]
224 {
225 array2[1].ToInt(),
226 array2[2].ToInt()
227 } : new int[3]
228 {
229 array2[1].ToInt(),
230 array2[2].ToInt(),
231 array2[3].ToInt()
232 }) : new int[4]
233 {
234 array2[1].ToInt(),
235 array2[2].ToInt(),
236 array2[3].ToInt(),
237 array2[4].ToInt()
238 });
239 break;
240 case "skin":
241 row.skins = new int[1] { array2[1].ToInt() };
242 break;
243 case "alt":
244 row.altTiles = new int[1] { array2[1].ToInt() };
245 row.ignoreAltFix = true;
246 break;
247 case "naming":
248 row.naming = array2[1];
249 break;
250 case "ex":
251 row.idActorEx = array2[1];
252 break;
253 case "sound":
254 row.idSound = array2[1];
255 break;
256 case "color":
257 row.colorMod = 100;
258 break;
259 case "no_color":
260 row.colorMod = 0;
261 break;
262 case "unique":
263 row.quality = 4;
264 break;
265 case "ele":
266 {
267 int[] second = new int[2]
268 {
270 array2[2].ToInt()
271 };
272 row.elements = row.
elements.Concat(second).ToArray();
273 break;
274 }
275 }
276 }
277 break;
278 }
279 }
280 }
284 }
285 rows.Clear();
286 }
static SourceManager sources
virtual void OnImportRow(Row _r, SourceThing.Row c)
override void OnImportData(SourceData data)