Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SpatialGen.cs
Go to the documentation of this file.
1public class SpatialGen : EClass
2{
3 public static Spatial CreateRecursive(string id, Spatial parent = null)
4 {
5 Spatial spatial = Create(id, parent, register: true);
6 foreach (SourceZone.Row row in EClass.sources.zones.rows)
7 {
8 if ((!row.tag.Contains("debug") || EClass.debug.enable) && row.parent == id)
9 {
10 CreateRecursive(row.id, spatial);
11 }
12 }
13 return spatial;
14 }
15
16 public static Spatial Create(string id, Spatial parent, bool register, int x = -99999, int y = -99999, int icon = 0)
17 {
18 SourceZone.Row row = EClass.sources.zones.map[id];
19 Spatial spatial = ClassCache.Create<Spatial>(row.type, "Elin");
20 if (x == -99999)
21 {
22 x = ((row.pos.Length != 0) ? row.pos[0] : (-1000));
23 y = ((row.pos.Length != 0) ? row.pos[1] : (-1000));
24 }
25 if (icon == 0 && row.pos.Length != 0)
26 {
27 icon = row.pos[2];
28 }
29 spatial.Create(id, x, y, icon);
30 if (register)
31 {
32 spatial.Register();
33 }
34 parent?.AddChild(spatial);
35 spatial.OnAfterCreate();
36 return spatial;
37 }
38
39 public static Zone CreateInstance(string id, ZoneInstance instance)
40 {
41 Zone topZone = EClass._zone.GetTopZone();
42 Zone obj = Create(id, EClass._zone.Region, register: true, topZone.x, topZone.y) as Zone;
43 obj.instance = instance;
44 instance.x = EClass.pc.pos.x;
45 instance.z = EClass.pc.pos.z;
46 instance.uidZone = EClass._zone.uid;
47 obj.dateExpire = EClass.world.date.GetRaw() + 1440;
48 return obj;
49 }
50}
Point pos
Definition: Card.cs:55
bool enable
Definition: CoreDebug.cs:285
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
static World world
Definition: EClass.cs:40
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
static CoreDebug debug
Definition: EClass.cs:48
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
SourceZone zones
static Spatial Create(string id, Spatial parent, bool register, int x=-99999, int y=-99999, int icon=0)
Definition: SpatialGen.cs:16
static Zone CreateInstance(string id, ZoneInstance instance)
Definition: SpatialGen.cs:39
static Spatial CreateRecursive(string id, Spatial parent=null)
Definition: SpatialGen.cs:3
virtual void AddChild(Spatial child)
Definition: Spatial.cs:689
int uid
Definition: Spatial.cs:70
virtual void OnAfterCreate()
Definition: Spatial.cs:628
void Create(string _id, int _x, int _y, int _icon)
Definition: Spatial.cs:598
void Register()
Definition: Spatial.cs:616
int y
Definition: Spatial.cs:106
int x
Definition: Spatial.cs:94
GameDate date
Definition: World.cs:6
Definition: Zone.cs:12
Zone GetTopZone()
Definition: Zone.cs:1854
Region Region
Definition: Zone.cs:160