Elin Modding Docs Doc
Loading...
Searching...
No Matches
SourceObj.cs
1using System;
2using System.Collections.Generic;
3
4// Token: 0x02000023 RID: 35
5public class SourceObj : SourceDataInt<SourceObj.Row>
6{
7 // Token: 0x06000133 RID: 307 RVA: 0x0000BD94 File Offset: 0x00009F94
8 public override SourceObj.Row CreateRow()
9 {
10 return new SourceObj.Row
11 {
12 id = SourceData.GetInt(0),
13 alias = SourceData.GetString(1),
14 name_JP = SourceData.GetString(2),
15 name = SourceData.GetString(3),
16 _growth = SourceData.GetStringArray(4),
17 costSoil = SourceData.GetInt(5),
18 objType = SourceData.GetString(6),
19 vals = SourceData.GetStringArray(7),
20 tag = SourceData.GetStringArray(8),
21 sort = SourceData.GetInt(9),
22 reqHarvest = SourceData.GetStringArray(10),
23 hp = SourceData.GetInt(11),
24 _tileType = SourceData.GetString(12),
25 valType = SourceData.GetString(13),
26 _idRenderData = SourceData.GetString(14),
27 tiles = SourceData.GetIntArray(15),
28 snowTile = SourceData.GetInt(16),
29 colorMod = SourceData.GetInt(17),
30 colorType = SourceData.GetString(18),
31 value = SourceData.GetInt(19),
32 LV = SourceData.GetInt(20),
33 chance = SourceData.GetInt(21),
34 recipeKey = SourceData.GetStringArray(22),
35 factory = SourceData.GetStringArray(23),
36 components = SourceData.GetStringArray(24),
37 defMat = SourceData.GetString(25),
38 matCategory = SourceData.GetString(26),
39 category = SourceData.GetString(27),
40 idRoof = SourceData.GetInt(28),
41 detail_JP = SourceData.GetString(29),
42 detail = SourceData.GetString(30)
43 };
44 }
45
46 // Token: 0x06000134 RID: 308 RVA: 0x0000BF30 File Offset: 0x0000A130
47 public override void SetRow(SourceObj.Row r)
48 {
49 this.map[r.id] = r;
50 }
51
52 // Token: 0x06000135 RID: 309 RVA: 0x0000BF44 File Offset: 0x0000A144
53 public override void BackupPref()
54 {
55 this._rows.Clear();
56 foreach (SourceObj.Row row in this.rows)
57 {
58 this._rows[row.id] = row;
59 }
60 }
61
62 // Token: 0x06000136 RID: 310 RVA: 0x0000BFB0 File Offset: 0x0000A1B0
63 public override void RestorePref()
64 {
65 foreach (SourceObj.Row row in this.rows)
66 {
67 RenderRow renderRow = row;
68 SourceObj.Row row2 = this._rows.TryGetValue(row.id, null);
69 renderRow.pref = (((row2 != null) ? row2.pref : null) ?? new SourcePref());
70 }
71 }
72
73 // Token: 0x06000137 RID: 311 RVA: 0x0000C02C File Offset: 0x0000A22C
74 public override void ValidatePref()
75 {
76 foreach (SourceObj.Row row in this.rows)
77 {
78 row.pref.Validate();
79 }
80 }
81
82 // Token: 0x06000138 RID: 312 RVA: 0x0000C084 File Offset: 0x0000A284
83 public string GetName(int id)
84 {
85 return this.map[id].GetName().ToTitleCase(false);
86 }
87
88 // Token: 0x06000139 RID: 313 RVA: 0x0000C0A0 File Offset: 0x0000A2A0
89 public override void OnAfterImportData()
90 {
91 int num = 0;
92 foreach (SourceObj.Row row in this.rows)
93 {
94 if (row.sort != 0)
95 {
96 num = row.sort;
97 }
98 row.sort = num;
99 num++;
100 }
101 this.rows.Sort((SourceObj.Row a, SourceObj.Row b) => a.id - b.id);
102 }
103
104 // Token: 0x0600013A RID: 314 RVA: 0x0000C134 File Offset: 0x0000A334
105 public override void OnInit()
106 {
107 SourceObj.FallbackRenderData = ResourceCache.Load<RenderData>("Scene/Render/Data/obj");
108 Cell.objList = this.rows;
109 foreach (SourceObj.Row row in this.rows)
110 {
111 row.Init();
112 }
113 }
114
115 // Token: 0x040000DC RID: 220
116 public Dictionary<int, SourceObj.Row> _rows = new Dictionary<int, SourceObj.Row>();
117
118 // Token: 0x040000DD RID: 221
119 public static RenderData FallbackRenderData;
120
121 // Token: 0x020007AA RID: 1962
122 [Serializable]
123 public class Row : TileRow
124 {
125 // Token: 0x170010ED RID: 4333
126 // (get) Token: 0x0600376F RID: 14191 RVA: 0x0012B0EE File Offset: 0x001292EE
127 public override bool UseAlias
128 {
129 get
130 {
131 return true;
132 }
133 }
134
135 // Token: 0x170010EE RID: 4334
136 // (get) Token: 0x06003770 RID: 14192 RVA: 0x0012B0F1 File Offset: 0x001292F1
137 public override string GetAlias
138 {
139 get
140 {
141 return this.alias;
142 }
143 }
144
145 // Token: 0x170010EF RID: 4335
146 // (get) Token: 0x06003771 RID: 14193 RVA: 0x0012B0F9 File Offset: 0x001292F9
147 public override string RecipeID
148 {
149 get
150 {
151 return "o" + this.id.ToString();
152 }
153 }
154
155 // Token: 0x170010F0 RID: 4336
156 // (get) Token: 0x06003772 RID: 14194 RVA: 0x0012B110 File Offset: 0x00129310
157 public override RenderData defaultRenderData
158 {
159 get
160 {
161 return SourceObj.FallbackRenderData;
162 }
163 }
164
165 // Token: 0x06003773 RID: 14195 RVA: 0x0012B118 File Offset: 0x00129318
166 public override void OnInit()
167 {
168 this.objValType = (this.valType.IsEmpty() ? ObjValType.None : this.valType.ToEnum(true));
169 this.autoTile = this.tag.Contains("autotile");
170 if (!this._growth.IsEmpty())
171 {
172 this.growth = ClassCache.Create<GrowSystem>("GrowSystem" + this._growth[0], "Elin");
173 this.growth.Init(this);
174 this.HasGrowth = true;
175 return;
176 }
177 this.HasGrowth = false;
178 }
179
180 // Token: 0x04002066 RID: 8294
181 public string[] _growth;
182
183 // Token: 0x04002067 RID: 8295
184 public int costSoil;
185
186 // Token: 0x04002068 RID: 8296
187 public string objType;
188
189 // Token: 0x04002069 RID: 8297
190 public string[] vals;
191
192 // Token: 0x0400206A RID: 8298
193 public string[] reqHarvest;
194
195 // Token: 0x0400206B RID: 8299
196 public string valType;
197
198 // Token: 0x0400206C RID: 8300
199 public string matCategory;
200
201 // Token: 0x0400206D RID: 8301
202 public int idRoof;
203
204 // Token: 0x0400206E RID: 8302
205 [NonSerialized]
206 public bool HasGrowth;
207
208 // Token: 0x0400206F RID: 8303
209 [NonSerialized]
210 public bool autoTile;
211
212 // Token: 0x04002070 RID: 8304
213 public GrowSystem growth;
214
215 // Token: 0x04002071 RID: 8305
216 public ObjValType objValType;
217
218 // Token: 0x04002072 RID: 8306
219 public string name_L;
220
221 // Token: 0x04002073 RID: 8307
222 public string detail_L;
223 }
224
225 // Token: 0x020007AB RID: 1963
226 public class Stage
227 {
228 // Token: 0x04002074 RID: 8308
229 public int step;
230
231 // Token: 0x04002075 RID: 8309
232 public int[] tiles;
233
234 // Token: 0x04002076 RID: 8310
235 public string idThing;
236
237 // Token: 0x04002077 RID: 8311
238 public bool harvest;
239 }
240}