Elin Decompiled Documentation EA 23.316 Nightly
Loading...
Searching...
No Matches
SourceGlobalTile.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceGlobalTile : SourceDataInt<SourceGlobalTile.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public int id;
10
11 public string alias;
12
13 public string name_JP;
14
15 public string name;
16
17 public int[] tiles;
18
19 public int floor;
20
21 public string zoneProfile;
22
23 public string[] tag;
24
25 public int dangerLv;
26
27 public string[] trait;
28
29 public string idBiome;
30
31 public int[] attribs;
32
33 public string detail_JP;
34
35 public string detail;
36
37 public override bool UseAlias => true;
38
39 public override string GetAlias => alias;
40 }
41
42 public static readonly IReadOnlyDictionary<string, int> RowMapping = new Dictionary<string, int>
43 {
44 ["id"] = 0,
45 ["alias"] = 1,
46 ["name_JP"] = 2,
47 ["name"] = 3,
48 ["tiles"] = 4,
49 ["floor"] = 5,
50 ["zoneProfile"] = 6,
51 ["tag"] = 7,
52 ["dangerLv"] = 8,
53 ["trait"] = 9,
54 ["idBiome"] = 10,
55 ["attribs"] = 11,
56 ["detail_JP"] = 12,
57 ["detail"] = 13
58 };
59
60 public static readonly IReadOnlyDictionary<string, string> TypeMapping = new Dictionary<string, string>
61 {
62 ["id"] = "int",
63 ["alias"] = "string",
64 ["name_JP"] = "string",
65 ["name"] = "string",
66 ["tiles"] = "int[]",
67 ["floor"] = "int",
68 ["zoneProfile"] = "string",
69 ["tag"] = "string[]",
70 ["dangerLv"] = "int",
71 ["trait"] = "string[]",
72 ["idBiome"] = "string",
73 ["attribs"] = "int[]",
74 ["detail_JP"] = "string",
75 ["detail"] = "string"
76 };
77
78 public Dictionary<int, Row> tileAlias = new Dictionary<int, Row>();
79
80 public override Row CreateRow()
81 {
82 return new Row
83 {
84 id = SourceData.GetInt(0),
85 alias = SourceData.GetString(1),
86 name_JP = SourceData.GetString(2),
87 name = SourceData.GetString(3),
88 tiles = SourceData.GetIntArray(4),
89 floor = SourceData.GetInt(5),
90 zoneProfile = SourceData.GetString(6),
92 dangerLv = SourceData.GetInt(8),
93 trait = SourceData.GetStringArray(9),
94 idBiome = SourceData.GetString(10),
95 attribs = SourceData.GetIntArray(11),
96 detail_JP = SourceData.GetString(12),
97 detail = SourceData.GetString(13)
98 };
99 }
100
101 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
102 {
103 return new Row
104 {
105 id = SourceData.GetInt(mapping["id"]),
106 alias = SourceData.GetString(mapping["alias"]),
107 name_JP = SourceData.GetString(mapping["name_JP"]),
108 name = SourceData.GetString(mapping["name"]),
109 tiles = SourceData.GetIntArray(mapping["tiles"]),
110 floor = SourceData.GetInt(mapping["floor"]),
111 zoneProfile = SourceData.GetString(mapping["zoneProfile"]),
112 tag = SourceData.GetStringArray(mapping["tag"]),
113 dangerLv = SourceData.GetInt(mapping["dangerLv"]),
114 trait = SourceData.GetStringArray(mapping["trait"]),
115 idBiome = SourceData.GetString(mapping["idBiome"]),
116 attribs = SourceData.GetIntArray(mapping["attribs"]),
117 detail_JP = SourceData.GetString(mapping["detail_JP"]),
118 detail = SourceData.GetString(mapping["detail"])
119 };
120 }
121
122 public override void SetRow(Row r)
123 {
124 map[r.id] = r;
125 }
126
127 public override IReadOnlyDictionary<string, int> GetRowMapping()
128 {
129 return RowMapping;
130 }
131
132 public override IReadOnlyDictionary<string, string> GetTypeMapping()
133 {
134 return TypeMapping;
135 }
136
137 public override void OnInit()
138 {
139 foreach (Row row in rows)
140 {
141 int[] tiles = row.tiles;
142 foreach (int key in tiles)
143 {
144 tileAlias[key] = row;
145 }
146 }
147 }
148}
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 int[] GetIntArray(int id)
Definition: SourceData.cs:1006
override bool UseAlias
override string GetAlias
override IReadOnlyDictionary< string, string > GetTypeMapping()
static readonly IReadOnlyDictionary< string, int > RowMapping
Dictionary< int, Row > tileAlias
override IReadOnlyDictionary< string, int > GetRowMapping()
static readonly IReadOnlyDictionary< string, string > TypeMapping
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
override Row CreateRow()
override void SetRow(Row r)
override void OnInit()