Elin Modding Docs Doc
Loading...
Searching...
No Matches
Spatial.cs
1using System;
2using System.Collections.Generic;
3using System.Runtime.Serialization;
4using Newtonsoft.Json;
5using UnityEngine;
6
7// Token: 0x020006EA RID: 1770
8public class Spatial : EClass
9{
10 // Token: 0x0600330F RID: 13071 RVA: 0x00118604 File Offset: 0x00116804
11 public int GetInt(int id, int? defaultInt = null)
12 {
13 int result;
14 if (this.mapInt.TryGetValue(id, out result))
15 {
16 return result;
17 }
18 return defaultInt.GetValueOrDefault();
19 }
20
21 // Token: 0x06003310 RID: 13072 RVA: 0x0011862C File Offset: 0x0011682C
22 public void AddInt(int id, int value)
23 {
24 this.SetInt(id, this.GetInt(id, null) + value);
25 }
26
27 // Token: 0x06003311 RID: 13073 RVA: 0x00118652 File Offset: 0x00116852
28 public void SetInt(int id, int value = 0)
29 {
30 if (value == 0)
31 {
32 if (this.mapInt.ContainsKey(id))
33 {
34 this.mapInt.Remove(id);
35 }
36 return;
37 }
38 this.mapInt[id] = value;
39 }
40
41 // Token: 0x17000F3E RID: 3902
42 // (get) Token: 0x06003312 RID: 13074 RVA: 0x00118680 File Offset: 0x00116880
43 // (set) Token: 0x06003313 RID: 13075 RVA: 0x0011868A File Offset: 0x0011688A
44 public int _bits
45 {
46 get
47 {
48 return this._ints[0];
49 }
50 set
51 {
52 this._ints[0] = value;
53 }
54 }
55
56 // Token: 0x17000F3F RID: 3903
57 // (get) Token: 0x06003314 RID: 13076 RVA: 0x00118695 File Offset: 0x00116895
58 // (set) Token: 0x06003315 RID: 13077 RVA: 0x0011869F File Offset: 0x0011689F
59 public int uid
60 {
61 get
62 {
63 return this._ints[1];
64 }
65 set
66 {
67 this._ints[1] = value;
68 }
69 }
70
71 // Token: 0x17000F40 RID: 3904
72 // (get) Token: 0x06003316 RID: 13078 RVA: 0x001186AA File Offset: 0x001168AA
73 // (set) Token: 0x06003317 RID: 13079 RVA: 0x001186B4 File Offset: 0x001168B4
74 public int icon
75 {
76 get
77 {
78 return this._ints[2];
79 }
80 set
81 {
82 this._ints[2] = value;
83 }
84 }
85
86 // Token: 0x17000F41 RID: 3905
87 // (get) Token: 0x06003318 RID: 13080 RVA: 0x001186BF File Offset: 0x001168BF
88 // (set) Token: 0x06003319 RID: 13081 RVA: 0x001186C9 File Offset: 0x001168C9
89 public int x
90 {
91 get
92 {
93 return this._ints[3];
94 }
95 set
96 {
97 this._ints[3] = value;
98 }
99 }
100
101 // Token: 0x17000F42 RID: 3906
102 // (get) Token: 0x0600331A RID: 13082 RVA: 0x001186D4 File Offset: 0x001168D4
103 // (set) Token: 0x0600331B RID: 13083 RVA: 0x001186DE File Offset: 0x001168DE
104 public int y
105 {
106 get
107 {
108 return this._ints[4];
109 }
110 set
111 {
112 this._ints[4] = value;
113 }
114 }
115
116 // Token: 0x17000F43 RID: 3907
117 // (get) Token: 0x0600331C RID: 13084 RVA: 0x001186E9 File Offset: 0x001168E9
118 // (set) Token: 0x0600331D RID: 13085 RVA: 0x001186F3 File Offset: 0x001168F3
119 public int lastActive
120 {
121 get
122 {
123 return this._ints[5];
124 }
125 set
126 {
127 this._ints[5] = value;
128 }
129 }
130
131 // Token: 0x17000F44 RID: 3908
132 // (get) Token: 0x0600331E RID: 13086 RVA: 0x001186FE File Offset: 0x001168FE
133 // (set) Token: 0x0600331F RID: 13087 RVA: 0x00118708 File Offset: 0x00116908
134 public int idPrefix
135 {
136 get
137 {
138 return this._ints[6];
139 }
140 set
141 {
142 this._ints[6] = value;
143 }
144 }
145
146 // Token: 0x17000F45 RID: 3909
147 // (get) Token: 0x06003320 RID: 13088 RVA: 0x00118713 File Offset: 0x00116913
148 // (set) Token: 0x06003321 RID: 13089 RVA: 0x0011871D File Offset: 0x0011691D
149 public int lv
150 {
151 get
152 {
153 return this._ints[7];
154 }
155 set
156 {
157 this._ints[7] = value;
158 }
159 }
160
161 // Token: 0x17000F46 RID: 3910
162 // (get) Token: 0x06003322 RID: 13090 RVA: 0x00118728 File Offset: 0x00116928
163 // (set) Token: 0x06003323 RID: 13091 RVA: 0x00118732 File Offset: 0x00116932
164 public int visitCount
165 {
166 get
167 {
168 return this._ints[8];
169 }
170 set
171 {
172 this._ints[8] = value;
173 }
174 }
175
176 // Token: 0x17000F47 RID: 3911
177 // (get) Token: 0x06003324 RID: 13092 RVA: 0x0011873D File Offset: 0x0011693D
178 // (set) Token: 0x06003325 RID: 13093 RVA: 0x00118748 File Offset: 0x00116948
179 public int dateExpire
180 {
181 get
182 {
183 return this._ints[9];
184 }
185 set
186 {
187 this._ints[9] = value;
188 }
189 }
190
191 // Token: 0x17000F48 RID: 3912
192 // (get) Token: 0x06003326 RID: 13094 RVA: 0x00118754 File Offset: 0x00116954
193 // (set) Token: 0x06003327 RID: 13095 RVA: 0x0011875F File Offset: 0x0011695F
194 public int dateRevive
195 {
196 get
197 {
198 return this._ints[10];
199 }
200 set
201 {
202 this._ints[10] = value;
203 }
204 }
205
206 // Token: 0x17000F49 RID: 3913
207 // (get) Token: 0x06003328 RID: 13096 RVA: 0x0011876B File Offset: 0x0011696B
208 // (set) Token: 0x06003329 RID: 13097 RVA: 0x00118776 File Offset: 0x00116976
209 public int _dangerLv
210 {
211 get
212 {
213 return this._ints[11];
214 }
215 set
216 {
217 this._ints[11] = value;
218 }
219 }
220
221 // Token: 0x17000F4A RID: 3914
222 // (get) Token: 0x0600332A RID: 13098 RVA: 0x00118782 File Offset: 0x00116982
223 // (set) Token: 0x0600332B RID: 13099 RVA: 0x0011878D File Offset: 0x0011698D
224 public int dateRegenerate
225 {
226 get
227 {
228 return this._ints[12];
229 }
230 set
231 {
232 this._ints[12] = value;
233 }
234 }
235
236 // Token: 0x17000F4B RID: 3915
237 // (get) Token: 0x0600332C RID: 13100 RVA: 0x00118799 File Offset: 0x00116999
238 // (set) Token: 0x0600332D RID: 13101 RVA: 0x001187A4 File Offset: 0x001169A4
239 public int influence
240 {
241 get
242 {
243 return this._ints[13];
244 }
245 set
246 {
247 this._ints[13] = value;
248 }
249 }
250
251 // Token: 0x17000F4C RID: 3916
252 // (get) Token: 0x0600332E RID: 13102 RVA: 0x001187B0 File Offset: 0x001169B0
253 // (set) Token: 0x0600332F RID: 13103 RVA: 0x001187BB File Offset: 0x001169BB
254 public int investment
255 {
256 get
257 {
258 return this._ints[14];
259 }
260 set
261 {
262 this._ints[14] = value;
263 }
264 }
265
266 // Token: 0x17000F4D RID: 3917
267 // (get) Token: 0x06003330 RID: 13104 RVA: 0x001187C7 File Offset: 0x001169C7
268 // (set) Token: 0x06003331 RID: 13105 RVA: 0x001187D2 File Offset: 0x001169D2
269 public int development
270 {
271 get
272 {
273 return this._ints[15];
274 }
275 set
276 {
277 this._ints[15] = value;
278 }
279 }
280
281 // Token: 0x17000F4E RID: 3918
282 // (get) Token: 0x06003332 RID: 13106 RVA: 0x001187DE File Offset: 0x001169DE
283 // (set) Token: 0x06003333 RID: 13107 RVA: 0x001187E9 File Offset: 0x001169E9
284 public int electricity
285 {
286 get
287 {
288 return this._ints[16];
289 }
290 set
291 {
292 this._ints[16] = value;
293 }
294 }
295
296 // Token: 0x17000F4F RID: 3919
297 // (get) Token: 0x06003334 RID: 13108 RVA: 0x001187F5 File Offset: 0x001169F5
298 // (set) Token: 0x06003335 RID: 13109 RVA: 0x00118800 File Offset: 0x00116A00
299 public int dateHat
300 {
301 get
302 {
303 return this._ints[17];
304 }
305 set
306 {
307 this._ints[17] = value;
308 }
309 }
310
311 // Token: 0x17000F50 RID: 3920
312 // (get) Token: 0x06003336 RID: 13110 RVA: 0x0011880C File Offset: 0x00116A0C
313 // (set) Token: 0x06003337 RID: 13111 RVA: 0x00118817 File Offset: 0x00116A17
314 public int uidBoss
315 {
316 get
317 {
318 return this._ints[18];
319 }
320 set
321 {
322 this._ints[18] = value;
323 }
324 }
325
326 // Token: 0x17000F51 RID: 3921
327 // (get) Token: 0x06003338 RID: 13112 RVA: 0x00118823 File Offset: 0x00116A23
328 // (set) Token: 0x06003339 RID: 13113 RVA: 0x0011882E File Offset: 0x00116A2E
329 public int dateQuest
330 {
331 get
332 {
333 return this._ints[19];
334 }
335 set
336 {
337 this._ints[19] = value;
338 }
339 }
340
341 // Token: 0x17000F52 RID: 3922
342 // (get) Token: 0x0600333A RID: 13114 RVA: 0x0011883A File Offset: 0x00116A3A
343 // (set) Token: 0x0600333B RID: 13115 RVA: 0x00118845 File Offset: 0x00116A45
344 public int version
345 {
346 get
347 {
348 return this._ints[20];
349 }
350 set
351 {
352 this._ints[20] = value;
353 }
354 }
355
356 // Token: 0x17000F53 RID: 3923
357 // (get) Token: 0x0600333C RID: 13116 RVA: 0x00118851 File Offset: 0x00116A51
358 // (set) Token: 0x0600333D RID: 13117 RVA: 0x0011885F File Offset: 0x00116A5F
359 public bool isGenerated
360 {
361 get
362 {
363 return this.bits[0];
364 }
365 set
366 {
367 this.bits[0] = value;
368 }
369 }
370
371 // Token: 0x17000F54 RID: 3924
372 // (get) Token: 0x0600333E RID: 13118 RVA: 0x0011886E File Offset: 0x00116A6E
373 // (set) Token: 0x0600333F RID: 13119 RVA: 0x0011887C File Offset: 0x00116A7C
374 public bool isShore
375 {
376 get
377 {
378 return this.bits[3];
379 }
380 set
381 {
382 this.bits[3] = value;
383 }
384 }
385
386 // Token: 0x17000F55 RID: 3925
387 // (get) Token: 0x06003340 RID: 13120 RVA: 0x0011888B File Offset: 0x00116A8B
388 // (set) Token: 0x06003341 RID: 13121 RVA: 0x00118899 File Offset: 0x00116A99
389 public bool isRandomSite
390 {
391 get
392 {
393 return this.bits[6];
394 }
395 set
396 {
397 this.bits[6] = value;
398 }
399 }
400
401 // Token: 0x17000F56 RID: 3926
402 // (get) Token: 0x06003342 RID: 13122 RVA: 0x001188A8 File Offset: 0x00116AA8
403 // (set) Token: 0x06003343 RID: 13123 RVA: 0x001188B6 File Offset: 0x00116AB6
404 public bool isKnown
405 {
406 get
407 {
408 return this.bits[7];
409 }
410 set
411 {
412 this.bits[7] = value;
413 }
414 }
415
416 // Token: 0x17000F57 RID: 3927
417 // (get) Token: 0x06003344 RID: 13124 RVA: 0x001188C5 File Offset: 0x00116AC5
418 // (set) Token: 0x06003345 RID: 13125 RVA: 0x001188D3 File Offset: 0x00116AD3
419 public bool isMapSaved
420 {
421 get
422 {
423 return this.bits[8];
424 }
425 set
426 {
427 this.bits[8] = value;
428 }
429 }
430
431 // Token: 0x17000F58 RID: 3928
432 // (get) Token: 0x06003346 RID: 13126 RVA: 0x001188E2 File Offset: 0x00116AE2
433 // (set) Token: 0x06003347 RID: 13127 RVA: 0x001188F1 File Offset: 0x00116AF1
434 public bool isExternalZone
435 {
436 get
437 {
438 return this.bits[9];
439 }
440 set
441 {
442 this.bits[9] = value;
443 }
444 }
445
446 // Token: 0x17000F59 RID: 3929
447 // (get) Token: 0x06003348 RID: 13128 RVA: 0x00118901 File Offset: 0x00116B01
448 // (set) Token: 0x06003349 RID: 13129 RVA: 0x00118910 File Offset: 0x00116B10
449 public bool isConquered
450 {
451 get
452 {
453 return this.bits[10];
454 }
455 set
456 {
457 this.bits[10] = value;
458 }
459 }
460
461 // Token: 0x17000F5A RID: 3930
462 // (get) Token: 0x0600334A RID: 13130 RVA: 0x00118920 File Offset: 0x00116B20
463 // (set) Token: 0x0600334B RID: 13131 RVA: 0x0011892F File Offset: 0x00116B2F
464 public bool isBeach
465 {
466 get
467 {
468 return this.bits[11];
469 }
470 set
471 {
472 this.bits[11] = value;
473 }
474 }
475
476 // Token: 0x17000F5B RID: 3931
477 // (get) Token: 0x0600334C RID: 13132 RVA: 0x0011893F File Offset: 0x00116B3F
478 // (set) Token: 0x0600334D RID: 13133 RVA: 0x0011894E File Offset: 0x00116B4E
479 public bool isPeace
480 {
481 get
482 {
483 return this.bits[12];
484 }
485 set
486 {
487 this.bits[12] = value;
488 }
489 }
490
491 // Token: 0x17000F5C RID: 3932
492 // (get) Token: 0x0600334E RID: 13134 RVA: 0x0011895E File Offset: 0x00116B5E
493 // (set) Token: 0x0600334F RID: 13135 RVA: 0x00118984 File Offset: 0x00116B84
494 public Faction mainFaction
495 {
496 get
497 {
498 return EClass.game.factions.dictAll.TryGetValue(this.idMainFaction, null) ?? EClass.Wilds;
499 }
500 set
501 {
502 this.idMainFaction = ((value == null) ? EClass.Wilds.uid : value.uid);
503 }
504 }
505
506 // Token: 0x17000F5D RID: 3933
507 // (get) Token: 0x06003350 RID: 13136 RVA: 0x001189A4 File Offset: 0x00116BA4
508 public SourceZone.Row source
509 {
510 get
511 {
512 SourceZone.Row result;
513 if ((result = this._source) == null)
514 {
515 result = (this._source = EClass.sources.zones.map[this.id]);
516 }
517 return result;
518 }
519 }
520
521 // Token: 0x17000F5E RID: 3934
522 // (get) Token: 0x06003351 RID: 13137 RVA: 0x001189DE File Offset: 0x00116BDE
523 public bool IsPlayerFaction
524 {
525 get
526 {
527 return this.mainFaction == EClass.pc.faction;
528 }
529 }
530
531 // Token: 0x17000F5F RID: 3935
532 // (get) Token: 0x06003352 RID: 13138 RVA: 0x001189F2 File Offset: 0x00116BF2
533 public bool IsClosed
534 {
535 get
536 {
537 return this.source.tag.Contains("closed");
538 }
539 }
540
541 // Token: 0x17000F60 RID: 3936
542 // (get) Token: 0x06003353 RID: 13139 RVA: 0x00118A09 File Offset: 0x00116C09
543 public int mapX
544 {
545 get
546 {
547 if (!EClass._zone.IsRegion)
548 {
549 return this.x;
550 }
551 return this.x - EClass.scene.elomap.minX;
552 }
553 }
554
555 // Token: 0x17000F61 RID: 3937
556 // (get) Token: 0x06003354 RID: 13140 RVA: 0x00118A34 File Offset: 0x00116C34
557 public int mapY
558 {
559 get
560 {
561 if (!EClass._zone.IsRegion)
562 {
563 return this.y;
564 }
565 return this.y - EClass.scene.elomap.minY;
566 }
567 }
568
569 // Token: 0x17000F62 RID: 3938
570 // (get) Token: 0x06003355 RID: 13141 RVA: 0x00118A5F File Offset: 0x00116C5F
571 public virtual int DangerLv
572 {
573 get
574 {
575 return this._dangerLv;
576 }
577 }
578
579 // Token: 0x17000F63 RID: 3939
580 // (get) Token: 0x06003356 RID: 13142 RVA: 0x00118A67 File Offset: 0x00116C67
581 public virtual int DangerLvFix
582 {
583 get
584 {
585 return 0;
586 }
587 }
588
589 // Token: 0x17000F64 RID: 3940
590 // (get) Token: 0x06003357 RID: 13143 RVA: 0x00118A6A File Offset: 0x00116C6A
591 public virtual float VolumeSea
592 {
593 get
594 {
595 if (!this.isShore)
596 {
597 return 0f;
598 }
599 return 1f;
600 }
601 }
602
603 // Token: 0x17000F65 RID: 3941
604 // (get) Token: 0x06003358 RID: 13144 RVA: 0x00118A7F File Offset: 0x00116C7F
605 public virtual bool ShowDangerLv
606 {
607 get
608 {
609 return false;
610 }
611 }
612
613 // Token: 0x17000F66 RID: 3942
614 // (get) Token: 0x06003359 RID: 13145 RVA: 0x00118A82 File Offset: 0x00116C82
615 public virtual bool CanSpawnAdv
616 {
617 get
618 {
619 return false;
620 }
621 }
622
623 // Token: 0x17000F67 RID: 3943
624 // (get) Token: 0x0600335A RID: 13146 RVA: 0x00118A88 File Offset: 0x00116C88
625 public string pathSave
626 {
627 get
628 {
629 return GameIO.pathCurrentSave + this.uid.ToString() + "/";
630 }
631 }
632
633 // Token: 0x17000F68 RID: 3944
634 // (get) Token: 0x0600335B RID: 13147 RVA: 0x00118AB4 File Offset: 0x00116CB4
635 public virtual string Name
636 {
637 get
638 {
639 return ((this.idPrefix == 0) ? "" : (EClass.sources.zoneAffixes.map[this.idPrefix].GetName().ToTitleCase(false) + Lang.space)) + this.name.IsEmpty(this.source.GetText("name", false)) + this.NameSuffix;
640 }
641 }
642
643 // Token: 0x17000F69 RID: 3945
644 // (get) Token: 0x0600335C RID: 13148 RVA: 0x00118B26 File Offset: 0x00116D26
645 public virtual string NameSuffix
646 {
647 get
648 {
649 return "";
650 }
651 }
652
653 // Token: 0x0600335D RID: 13149 RVA: 0x00118B30 File Offset: 0x00116D30
654 public override string ToString()
655 {
656 return this.Name + "(" + this.uid.ToString() + ")";
657 }
658
659 // Token: 0x17000F6A RID: 3946
660 // (get) Token: 0x0600335E RID: 13150 RVA: 0x00118B60 File Offset: 0x00116D60
661 public virtual bool IsRegion
662 {
663 get
664 {
665 return false;
666 }
667 }
668
669 // Token: 0x17000F6B RID: 3947
670 // (get) Token: 0x0600335F RID: 13151 RVA: 0x00118B63 File Offset: 0x00116D63
671 public virtual bool CanFastTravel
672 {
673 get
674 {
675 return !this.isRandomSite && !this.IsClosed;
676 }
677 }
678
679 // Token: 0x17000F6C RID: 3948
680 // (get) Token: 0x06003360 RID: 13152 RVA: 0x00118B78 File Offset: 0x00116D78
681 public EloMap.TileInfo Tile
682 {
683 get
684 {
685 if (this._tile == null)
686 {
687 EClass.scene.elomapActor.Initialize(EClass.world.region.elomap);
688 this._tile = EClass.scene.elomapActor.elomap.GetTileInfo(this.x, this.y);
689 }
690 return this._tile;
691 }
692 }
693
694 // Token: 0x17000F6D RID: 3949
695 // (get) Token: 0x06003361 RID: 13153 RVA: 0x00118BD7 File Offset: 0x00116DD7
696 public virtual bool IsSnowZone
697 {
698 get
699 {
700 return this.Tile.IsSnow;
701 }
702 }
703
704 // Token: 0x17000F6E RID: 3950
705 // (get) Token: 0x06003362 RID: 13154 RVA: 0x00118BE4 File Offset: 0x00116DE4
706 public virtual bool IsSnowCovered
707 {
708 get
709 {
710 return !EClass._map.IsIndoor && (this.IsSnowZone || EClass.world.season.isWinter);
711 }
712 }
713
714 // Token: 0x17000F6F RID: 3951
715 // (get) Token: 0x06003363 RID: 13155 RVA: 0x00118C0D File Offset: 0x00116E0D
716 public virtual Point RegionPos
717 {
718 get
719 {
720 return this._regionPos.Set(this.x - EClass.scene.elomap.minX, this.y - EClass.scene.elomap.minY);
721 }
722 }
723
724 // Token: 0x17000F70 RID: 3952
725 // (get) Token: 0x06003364 RID: 13156 RVA: 0x00118C46 File Offset: 0x00116E46
726 public virtual bool isClaimable
727 {
728 get
729 {
730 return false;
731 }
732 }
733
734 // Token: 0x17000F71 RID: 3953
735 // (get) Token: 0x06003365 RID: 13157 RVA: 0x00118C49 File Offset: 0x00116E49
736 public int Seed
737 {
738 get
739 {
740 return EClass.game.seed + Mathf.Abs(this.x) * 1000 + Mathf.Abs(this.y);
741 }
742 }
743
744 // Token: 0x06003366 RID: 13158 RVA: 0x00118C73 File Offset: 0x00116E73
745 [OnSerializing]
746 private void OnSerializing(StreamingContext context)
747 {
748 this._bits = (int)this.bits.Bits;
749 }
750
751 // Token: 0x06003367 RID: 13159 RVA: 0x00118C86 File Offset: 0x00116E86
752 [OnDeserialized]
753 private void OnDeserialized(StreamingContext context)
754 {
755 this.bits.Bits = (uint)this._bits;
756 }
757
758 // Token: 0x06003368 RID: 13160 RVA: 0x00118C9C File Offset: 0x00116E9C
759 public void Create(string _id, int _x, int _y, int _icon)
760 {
761 this.x = _x;
762 this.y = _y;
763 this.icon = _icon;
764 Rand.SetSeed(this.Seed);
765 this.id = _id;
766 this.development = this.source.dev;
767 this.source.name == "*r";
768 this._dangerLv = this.source.LV;
769 if (EClass.debug.travelAnywhere)
770 {
771 this.isKnown = true;
772 }
773 this.OnCreate();
774 Rand.SetSeed(-1);
775 }
776
777 // Token: 0x06003369 RID: 13161 RVA: 0x00118D28 File Offset: 0x00116F28
778 public void Register()
779 {
780 if (this.uid == 0)
781 {
782 EClass.game.spatials.AssignUID(this);
783 }
784 }
785
786 // Token: 0x0600336A RID: 13162 RVA: 0x00118D42 File Offset: 0x00116F42
787 public virtual void OnCreate()
788 {
789 }
790
791 // Token: 0x0600336B RID: 13163 RVA: 0x00118D44 File Offset: 0x00116F44
792 public virtual void OnAfterCreate()
793 {
794 }
795
796 // Token: 0x0600336C RID: 13164 RVA: 0x00118D46 File Offset: 0x00116F46
797 public virtual void SetMainFaction(Faction f)
798 {
799 this.mainFaction = f;
800 }
801
802 // Token: 0x0600336D RID: 13165 RVA: 0x00118D50 File Offset: 0x00116F50
803 public Zone GetFirstZone()
804 {
805 if (this is Zone)
806 {
807 return this as Zone;
808 }
809 foreach (Spatial spatial in this.children)
810 {
811 Zone firstZone = spatial.GetFirstZone();
812 if (firstZone != null)
813 {
814 return firstZone;
815 }
816 }
817 return null;
818 }
819
820 // Token: 0x0600336E RID: 13166 RVA: 0x00118DBC File Offset: 0x00116FBC
821 public void OnBeforeSave()
822 {
823 this._OnBeforeSave();
824 }
825
826 // Token: 0x0600336F RID: 13167 RVA: 0x00118DC4 File Offset: 0x00116FC4
827 public virtual void _OnBeforeSave()
828 {
829 }
830
831 // Token: 0x06003370 RID: 13168 RVA: 0x00118DC8 File Offset: 0x00116FC8
832 public void _OnLoad()
833 {
834 foreach (Spatial spatial in this.children)
835 {
836 spatial._OnLoad();
837 }
838 this.OnLoad();
839 }
840
841 // Token: 0x06003371 RID: 13169 RVA: 0x00118E20 File Offset: 0x00117020
842 public virtual void OnLoad()
843 {
844 }
845
846 // Token: 0x06003372 RID: 13170 RVA: 0x00118E22 File Offset: 0x00117022
847 public virtual void Destroy()
848 {
849 }
850
851 // Token: 0x06003373 RID: 13171 RVA: 0x00118E24 File Offset: 0x00117024
852 public void DeleteMapRecursive()
853 {
854 foreach (Spatial spatial in this.children)
855 {
856 spatial.DeleteMapRecursive();
857 }
858 IO.DeleteDirectory(this.pathSave);
859 }
860
861 // Token: 0x06003374 RID: 13172 RVA: 0x00118E80 File Offset: 0x00117080
862 public virtual void AddChild(Spatial child)
863 {
864 child.parent = this;
865 this.children.Add(child);
866 }
867
868 // Token: 0x06003375 RID: 13173 RVA: 0x00118E95 File Offset: 0x00117095
869 public void RemoveChild(Spatial child)
870 {
871 this.children.Remove(child);
872 child.parent = null;
873 }
874
875 // Token: 0x06003376 RID: 13174 RVA: 0x00118EAC File Offset: 0x001170AC
876 public Zone FindDeepestZone()
877 {
878 Spatial spatial = this;
879 foreach (Spatial spatial2 in this.children)
880 {
881 if (!spatial2.isExternalZone && spatial2.lv < spatial.lv)
882 {
883 spatial = spatial2;
884 }
885 }
886 return spatial as Zone;
887 }
888
889 // Token: 0x06003377 RID: 13175 RVA: 0x00118F18 File Offset: 0x00117118
890 public Zone FindZone(int lv)
891 {
892 foreach (Spatial spatial in this.children)
893 {
894 if (!spatial.isExternalZone && spatial.lv == lv)
895 {
896 return spatial as Zone;
897 }
898 }
899 if (this.lv != lv)
900 {
901 return null;
902 }
903 return this as Zone;
904 }
905
906 // Token: 0x06003378 RID: 13176 RVA: 0x00118F94 File Offset: 0x00117194
907 public Zone FindZone(string _id)
908 {
909 foreach (Spatial spatial in this.children)
910 {
911 Zone zone = spatial._FindZone(_id);
912 if (zone != null)
913 {
914 return zone;
915 }
916 }
917 return null;
918 }
919
920 // Token: 0x06003379 RID: 13177 RVA: 0x00118FF0 File Offset: 0x001171F0
921 protected Zone _FindZone(string _id)
922 {
923 foreach (Spatial spatial in this.children)
924 {
925 Zone zone = spatial._FindZone(_id);
926 if (zone != null)
927 {
928 return zone;
929 }
930 }
931 if (this is Zone && this.id == _id)
932 {
933 return (Zone)this;
934 }
935 return null;
936 }
937
938 // Token: 0x0600337A RID: 13178 RVA: 0x0011906C File Offset: 0x0011726C
939 public virtual bool CanKill()
940 {
941 return false;
942 }
943
944 // Token: 0x0600337B RID: 13179 RVA: 0x00119070 File Offset: 0x00117270
945 public int Dist(Point p)
946 {
947 PathProgress pathProgress = PathManager.Instance.RequestPathImmediate(new Point(this.x - EClass.scene.elomap.minX, this.y - EClass.scene.elomap.minY), p, EClass.pc, PathManager.MoveType.Default, -1, 0);
948 if (pathProgress.HasPath)
949 {
950 return pathProgress.nodes.Count;
951 }
952 return Fov.Distance(this.x, this.y, p.x + EClass.scene.elomap.minX, p.z + EClass.scene.elomap.minY);
953 }
954
955 // Token: 0x0600337C RID: 13180 RVA: 0x00119113 File Offset: 0x00117313
956 public int Dist(Spatial s)
957 {
958 return Fov.Distance(s.x, s.y, this.x, this.y);
959 }
960
961 // Token: 0x0600337D RID: 13181 RVA: 0x00119134 File Offset: 0x00117334
962 public void MakeGameObject(GameObject parentGo)
963 {
964 GameObject gameObject = new GameObject();
965 gameObject.name = this.ToString();
966 gameObject.transform.SetParent(parentGo.transform);
967 gameObject.AddComponent<SpatialInspector>().spatial = this;
968 foreach (Spatial spatial in this.children)
969 {
970 spatial.MakeGameObject(gameObject);
971 }
972 }
973
974 // Token: 0x04001C00 RID: 7168
975 [JsonProperty]
976 public Spatial parent;
977
978 // Token: 0x04001C01 RID: 7169
979 [JsonProperty]
980 public string id;
981
982 // Token: 0x04001C02 RID: 7170
983 [JsonProperty]
984 public string idUser;
985
986 // Token: 0x04001C03 RID: 7171
987 [JsonProperty]
988 public string name;
989
990 // Token: 0x04001C04 RID: 7172
991 [JsonProperty]
992 public string idMainFaction;
993
994 // Token: 0x04001C05 RID: 7173
995 [JsonProperty]
996 public string idProfile;
997
998 // Token: 0x04001C06 RID: 7174
999 [JsonProperty]
1000 public string idCurrentSubset;
1001
1002 // Token: 0x04001C07 RID: 7175
1003 [JsonProperty]
1004 public string idHat;
1005
1006 // Token: 0x04001C08 RID: 7176
1007 [JsonProperty]
1008 public int[] _ints = new int[30];
1009
1010 // Token: 0x04001C09 RID: 7177
1011 [JsonProperty]
1012 public List<Spatial> children = new List<Spatial>();
1013
1014 // Token: 0x04001C0A RID: 7178
1015 [JsonProperty]
1016 public List<Spatial> connections = new List<Spatial>();
1017
1018 // Token: 0x04001C0B RID: 7179
1019 [JsonProperty(PropertyName = "Y")]
1020 public Dictionary<int, int> mapInt = new Dictionary<int, int>();
1021
1022 // Token: 0x04001C0C RID: 7180
1023 public bool destryoed;
1024
1025 // Token: 0x04001C0D RID: 7181
1026 public bool isImported;
1027
1028 // Token: 0x04001C0E RID: 7182
1029 public BitArray32 bits;
1030
1031 // Token: 0x04001C0F RID: 7183
1032 private SourceZone.Row _source;
1033
1034 // Token: 0x04001C10 RID: 7184
1035 private EloMap.TileInfo _tile;
1036
1037 // Token: 0x04001C11 RID: 7185
1038 protected Point _regionPos = new Point();
1039}
Definition Fov.cs:7
Definition Point.cs:11
Definition Zone.cs:14