Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceFloor.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceFloor : SourceDataInt<SourceFloor.Row>
5{
6 [Serializable]
7 public class Row : TileRow
8 {
9 public string idBiome;
10
11 public string[] reqHarvest;
12
13 public string defBlock;
14
15 public string bridgeBlock;
16
17 public int edge;
18
19 public int autotile;
20
21 public int autotilePriority;
22
23 public float autotileBrightness;
24
25 public bool nonGradient;
26
27 public bool isBeach;
28
29 public bool snowtile;
30
31 public bool ignoreTransition;
32
33 [NonSerialized]
35
36 [NonSerialized]
38
39 [NonSerialized]
41
42 [NonSerialized]
43 public string name_L;
44
45 [NonSerialized]
46 public string detail_L;
47
48 public override bool UseAlias => true;
49
50 public override string GetAlias => alias;
51
52 public override string RecipeID => "f" + id;
53
55
56 public override void OnInit()
57 {
58 ignoreTransition = tag.Contains("noTransition");
59 ignoreSnow = tag.Contains("noSnow");
60 isBeach = tag.Contains("beach");
61 snowtile = tag.Contains("snowtile");
62 if (!idBiome.IsEmpty())
63 {
65 }
66 }
67
68 public override int GetTile(SourceMaterial.Row mat, int dir = 0)
69 {
70 return _tiles[dir % _tiles.Length];
71 }
72 }
73
74 public Dictionary<int, Row> _rows = new Dictionary<int, Row>();
75
77
78 public override Row CreateRow()
79 {
80 return new Row
81 {
82 id = SourceData.GetInt(0),
83 alias = SourceData.GetString(1),
84 name_JP = SourceData.GetString(2),
85 name = SourceData.GetString(3),
86 sort = SourceData.GetInt(4),
87 idBiome = SourceData.GetString(5),
88 reqHarvest = SourceData.GetStringArray(6),
89 hp = SourceData.GetInt(7),
90 _tileType = SourceData.GetString(8),
91 _idRenderData = SourceData.GetString(9),
92 tiles = SourceData.GetIntArray(10),
93 colorMod = SourceData.GetInt(11),
94 value = SourceData.GetInt(12),
95 LV = SourceData.GetInt(13),
96 recipeKey = SourceData.GetStringArray(14),
97 factory = SourceData.GetStringArray(15),
98 components = SourceData.GetStringArray(16),
99 defMat = SourceData.GetString(17),
100 defBlock = SourceData.GetString(18),
101 bridgeBlock = SourceData.GetString(19),
102 category = SourceData.GetString(20),
103 edge = SourceData.GetInt(21),
104 autotile = SourceData.GetInt(22),
105 autotilePriority = SourceData.GetInt(23),
106 autotileBrightness = SourceData.GetFloat(24),
107 soundFoot = SourceData.GetString(25),
108 tag = SourceData.GetStringArray(26),
109 detail_JP = SourceData.GetString(27),
110 detail = SourceData.GetString(28)
111 };
112 }
113
114 public override void SetRow(Row r)
115 {
116 map[r.id] = r;
117 }
118
119 public override void BackupPref()
120 {
121 _rows.Clear();
122 foreach (Row row in rows)
123 {
124 _rows[row.id] = row;
125 }
126 }
127
128 public override void RestorePref()
129 {
130 foreach (Row row in rows)
131 {
132 row.pref = _rows.TryGetValue(row.id)?.pref ?? new SourcePref();
133 }
134 }
135
136 public override void ValidatePref()
137 {
138 foreach (Row row in rows)
139 {
140 row.pref.Validate();
141 }
142 }
143
144 public override void OnAfterImportData()
145 {
146 int num = 0;
147 foreach (Row row in rows)
148 {
149 if (row.sort != 0)
150 {
151 num = row.sort;
152 }
153 row.sort = num;
154 num++;
155 }
156 rows.Sort((Row a, Row b) => a.id - b.id);
157 }
158
159 public override void OnInit()
160 {
161 FallbackRenderData = ResourceCache.Load<RenderData>("Scene/Render/Data/floor");
162 Cell.floorList = rows;
163 foreach (Row row in rows)
164 {
165 row.Init();
166 }
167 }
168
169 public void OnAfterInit()
170 {
171 foreach (Row row in rows)
172 {
173 row._defBlock = EClass.sources.blocks.alias[row.defBlock];
174 row._bridgeBlock = EClass.sources.blocks.alias[row.bridgeBlock];
175 row.nonGradient = row.ContainsTag("nonGradient");
176 }
177 }
178}
UD_Biome dict
Definition: CoreRef.cs:142
Biomes biomes
Definition: CoreRef.cs:325
CoreRef refs
Definition: Core.cs:51
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:42
string[] tag
Definition: RenderRow.cs:58
int sort
Definition: RenderRow.cs:18
SourcePref pref
Definition: RenderRow.cs:68
bool ContainsTag(string _tag)
Definition: RenderRow.cs:148
int[] _tiles
Definition: RenderRow.cs:12
static float GetFloat(int id)
Definition: SourceData.cs:726
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 int[] GetIntArray(int id)
Definition: SourceData.cs:736
bool ignoreTransition
Definition: SourceFloor.cs:31
float autotileBrightness
Definition: SourceFloor.cs:23
string idBiome
Definition: SourceFloor.cs:9
SourceBlock.Row _defBlock
Definition: SourceFloor.cs:34
SourceBlock.Row _bridgeBlock
Definition: SourceFloor.cs:37
override RenderData defaultRenderData
Definition: SourceFloor.cs:54
override string GetAlias
Definition: SourceFloor.cs:50
override bool UseAlias
Definition: SourceFloor.cs:48
BiomeProfile biome
Definition: SourceFloor.cs:40
string bridgeBlock
Definition: SourceFloor.cs:15
override string RecipeID
Definition: SourceFloor.cs:52
string[] reqHarvest
Definition: SourceFloor.cs:11
override int GetTile(SourceMaterial.Row mat, int dir=0)
Definition: SourceFloor.cs:68
override void OnInit()
Definition: SourceFloor.cs:56
void OnAfterInit()
Definition: SourceFloor.cs:169
override void RestorePref()
Definition: SourceFloor.cs:128
override void ValidatePref()
Definition: SourceFloor.cs:136
Dictionary< int, Row > _rows
Definition: SourceFloor.cs:74
override void OnInit()
Definition: SourceFloor.cs:159
override Row CreateRow()
Definition: SourceFloor.cs:78
static RenderData FallbackRenderData
Definition: SourceFloor.cs:76
override void SetRow(Row r)
Definition: SourceFloor.cs:114
override void BackupPref()
Definition: SourceFloor.cs:119
override void OnAfterImportData()
Definition: SourceFloor.cs:144
SourceBlock blocks
void Validate()
Definition: SourcePref.cs:333
bool ignoreSnow
Definition: TileRow.cs:6
string alias
Definition: TileRow.cs:12
int id
Definition: TileRow.cs:8
void Init()
Definition: TileRow.cs:16