Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
MapGenRegion.cs
Go to the documentation of this file.
1using CreativeSpore.SuperTilemapEditor;
2using UnityEngine;
3
4public class MapGenRegion : BaseMapGen
5{
6 private static MapGenRegion _Instance;
7
8 public static MapGenRegion Instance => _Instance ?? (_Instance = new MapGenRegion());
9
10 protected override bool OnGenerateTerrain()
11 {
14 SetSize(Mathf.Max(elomap.w, elomap.h), 10);
16 for (int i = 0; i < elomap.h; i++)
17 {
18 for (int j = 0; j < elomap.w; j++)
19 {
20 _ = elomap.cells[j, i];
21 int gridX = elomap.minX + j;
22 int gridY = elomap.minY + i;
23 map.cells[j, i].isSeen = true;
24 SetFloor(j, i, 66, 43);
25 foreach (STETilemap tilemap in elomap.group.Tilemaps)
26 {
27 if (tilemap == elomap.fogmap || tilemap == elomap.cloudmap)
28 {
29 continue;
30 }
31 int tileIdFromTileData = Tileset.GetTileIdFromTileData(tilemap.GetTileData(gridX, gridY));
32 SourceGlobalTile.Row row = EClass.sources.globalTiles.tileAlias.TryGetValue(tileIdFromTileData);
33 if (row != null)
34 {
35 map.cells[j, i].impassable = row.attribs[0] == 0;
36 if (row.floor != 0)
37 {
38 SetFloor(j, i, EClass.sources.floors.rows[row.floor].DefaultMaterial.id, row.floor);
39 }
40 }
41 }
42 if (Tileset.GetTileIdFromTileData(elomap.cloudmap.GetTileData(gridX, gridY)) < 1000)
43 {
44 map.cells[j, i].impassable = true;
45 }
46 }
47 }
50 map.config.idSceneProfile = "region";
52 return true;
53 }
54}
void SetSize(int size, int _poiSize)
Definition: BaseMapGen.cs:91
bool isSeen
Definition: Cell.cs:282
bool impassable
Definition: Cell.cs:402
Definition: EClass.cs:5
static Scene scene
Definition: EClass.cs:30
static SourceManager sources
Definition: EClass.cs:42
void Initialize(EloMap _elomap)
Definition: EloMapActor.cs:28
EloMap elomap
Definition: EloMapActor.cs:7
Definition: EloMap.cs:8
Cell[,] cells
Definition: EloMap.cs:92
STETilemap fogmap
Definition: EloMap.cs:96
int w
Definition: EloMap.cs:108
TilemapGroup group
Definition: EloMap.cs:94
int h
Definition: EloMap.cs:110
STETilemap cloudmap
Definition: EloMap.cs:106
Zone zone
Definition: GenBounds.cs:9
int Size
Definition: GenBounds.cs:11
Map map
Definition: GenBounds.cs:7
void SetFloor(BiomeProfile.Tile t, int x, int z)
Definition: GenBounds.cs:37
static MapGenRegion _Instance
Definition: MapGenRegion.cs:6
override bool OnGenerateTerrain()
Definition: MapGenRegion.cs:10
static MapGenRegion Instance
Definition: MapGenRegion.cs:8
void SetZone(Zone _zone)
Definition: Map.cs:181
POIMap poiMap
Definition: Map.cs:97
Cell[,] cells
Definition: Map.cs:85
void CreateNew(int size, bool setReference=true)
Definition: Map.cs:153
void RefreshAllTiles()
Definition: Map.cs:2086
void Reset()
Definition: POIMap.cs:35
EloMap elomap
Definition: Region.cs:8
EloMapActor elomapActor
Definition: Scene.cs:97
Dictionary< int, Row > tileAlias
SourceGlobalTile globalTiles
SourceFloor floors
Region Region
Definition: Zone.cs:160