Elin Decompiled Documentation EA 23.316 Nightly
Loading...
Searching...
No Matches
SourceHobby.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceHobby : SourceDataInt<SourceHobby.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public int id;
10
11 public string alias;
12
13 public string type;
14
15 public string name_JP;
16
17 public string name;
18
19 public string ai;
20
21 public string talk;
22
23 public string area;
24
25 public string destTrait;
26
27 public string workTag;
28
29 public string expedition;
30
31 public int[] resources;
32
33 public int randomRange;
34
35 public string[] modifiers;
36
37 public int tax;
38
39 public string[] things;
40
41 public int[] elements;
42
43 public string skill;
44
45 public string detail_JP;
46
47 public string detail;
48
49 [NonSerialized]
50 public string name_L;
51
52 [NonSerialized]
53 public string detail_L;
54
55 public override bool UseAlias => true;
56
57 public override string GetAlias => alias;
58 }
59
60 public static readonly IReadOnlyDictionary<string, int> RowMapping = new Dictionary<string, int>
61 {
62 ["id"] = 0,
63 ["alias"] = 1,
64 ["type"] = 2,
65 ["name_JP"] = 3,
66 ["name"] = 4,
67 ["ai"] = 5,
68 ["talk"] = 6,
69 ["area"] = 7,
70 ["destTrait"] = 8,
71 ["workTag"] = 9,
72 ["expedition"] = 10,
73 ["resources"] = 11,
74 ["randomRange"] = 12,
75 ["modifiers"] = 13,
76 ["tax"] = 14,
77 ["things"] = 15,
78 ["elements"] = 16,
79 ["skill"] = 17,
80 ["detail_JP"] = 18,
81 ["detail"] = 19
82 };
83
84 public static readonly IReadOnlyDictionary<string, string> TypeMapping = new Dictionary<string, string>
85 {
86 ["id"] = "int",
87 ["alias"] = "string",
88 ["type"] = "string",
89 ["name_JP"] = "string",
90 ["name"] = "string",
91 ["ai"] = "string",
92 ["talk"] = "string",
93 ["area"] = "string",
94 ["destTrait"] = "string",
95 ["workTag"] = "string",
96 ["expedition"] = "string",
97 ["resources"] = "int[]",
98 ["randomRange"] = "int",
99 ["modifiers"] = "string[]",
100 ["tax"] = "int",
101 ["things"] = "string[]",
102 ["elements"] = "elements",
103 ["skill"] = "string",
104 ["detail_JP"] = "string",
105 ["detail"] = "string"
106 };
107
108 [NonSerialized]
109 public List<Row> listHobbies = new List<Row>();
110
111 [NonSerialized]
112 public List<Row> listWorks = new List<Row>();
113
114 public override Row CreateRow()
115 {
116 return new Row
117 {
118 id = SourceData.GetInt(0),
119 alias = SourceData.GetString(1),
120 type = SourceData.GetString(2),
121 name_JP = SourceData.GetString(3),
122 name = SourceData.GetString(4),
123 ai = SourceData.GetString(5),
124 talk = SourceData.GetString(6),
125 area = SourceData.GetString(7),
126 destTrait = SourceData.GetString(8),
127 workTag = SourceData.GetString(9),
128 expedition = SourceData.GetString(10),
129 resources = SourceData.GetIntArray(11),
130 randomRange = SourceData.GetInt(12),
131 modifiers = SourceData.GetStringArray(13),
132 tax = SourceData.GetInt(14),
133 things = SourceData.GetStringArray(15),
134 elements = Core.ParseElements(SourceData.GetStr(16)),
135 skill = SourceData.GetString(17),
136 detail_JP = SourceData.GetString(18),
137 detail = SourceData.GetString(19)
138 };
139 }
140
141 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
142 {
143 return new Row
144 {
145 id = SourceData.GetInt(mapping["id"]),
146 alias = SourceData.GetString(mapping["alias"]),
147 type = SourceData.GetString(mapping["type"]),
148 name_JP = SourceData.GetString(mapping["name_JP"]),
149 name = SourceData.GetString(mapping["name"]),
150 ai = SourceData.GetString(mapping["ai"]),
151 talk = SourceData.GetString(mapping["talk"]),
152 area = SourceData.GetString(mapping["area"]),
153 destTrait = SourceData.GetString(mapping["destTrait"]),
154 workTag = SourceData.GetString(mapping["workTag"]),
155 expedition = SourceData.GetString(mapping["expedition"]),
156 resources = SourceData.GetIntArray(mapping["resources"]),
157 randomRange = SourceData.GetInt(mapping["randomRange"]),
158 modifiers = SourceData.GetStringArray(mapping["modifiers"]),
159 tax = SourceData.GetInt(mapping["tax"]),
160 things = SourceData.GetStringArray(mapping["things"]),
161 elements = Core.ParseElements(SourceData.GetStr(mapping["elements"])),
162 skill = SourceData.GetString(mapping["skill"]),
163 detail_JP = SourceData.GetString(mapping["detail_JP"]),
164 detail = SourceData.GetString(mapping["detail"])
165 };
166 }
167
168 public override void SetRow(Row r)
169 {
170 map[r.id] = r;
171 }
172
173 public override IReadOnlyDictionary<string, int> GetRowMapping()
174 {
175 return RowMapping;
176 }
177
178 public override IReadOnlyDictionary<string, string> GetTypeMapping()
179 {
180 return TypeMapping;
181 }
182
183 public override void OnInit()
184 {
185 foreach (Row row in rows)
186 {
187 switch (row.type)
188 {
189 case "Hobby":
190 listHobbies.Add(row);
191 break;
192 case "Work":
193 listWorks.Add(row);
194 break;
195 case "Both":
196 listHobbies.Add(row);
197 listWorks.Add(row);
198 break;
199 }
200 }
201 }
202}
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:726
static string[] GetStringArray(int id)
Definition: SourceData.cs:1011
static string GetString(int id)
Definition: SourceData.cs:1016
static int GetInt(int id)
Definition: SourceData.cs:981
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:1021
static int[] GetIntArray(int id)
Definition: SourceData.cs:1006
override string GetAlias
Definition: SourceHobby.cs:57
override bool UseAlias
Definition: SourceHobby.cs:55
string expedition
Definition: SourceHobby.cs:29
string detail_JP
Definition: SourceHobby.cs:45
string[] things
Definition: SourceHobby.cs:39
string destTrait
Definition: SourceHobby.cs:25
string[] modifiers
Definition: SourceHobby.cs:35
override IReadOnlyDictionary< string, string > GetTypeMapping()
Definition: SourceHobby.cs:178
List< Row > listWorks
Definition: SourceHobby.cs:112
override void SetRow(Row r)
Definition: SourceHobby.cs:168
static readonly IReadOnlyDictionary< string, string > TypeMapping
Definition: SourceHobby.cs:84
static readonly IReadOnlyDictionary< string, int > RowMapping
Definition: SourceHobby.cs:60
override Row CreateRow()
Definition: SourceHobby.cs:114
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
Definition: SourceHobby.cs:141
override void OnInit()
Definition: SourceHobby.cs:183
override IReadOnlyDictionary< string, int > GetRowMapping()
Definition: SourceHobby.cs:173
List< Row > listHobbies
Definition: SourceHobby.cs:109