Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ZoneEvent.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2
3public class ZoneEvent : EClass
4{
5 [JsonProperty]
6 public float time;
7
8 [JsonProperty]
9 public int rounds;
10
11 [JsonProperty]
12 public int hoursElapsed;
13
14 [JsonProperty]
15 public int minElapsed;
16
17 public Zone zone;
18
19 public bool firstTick = true;
20
22
23 public virtual string id => "";
24
25 public virtual string TextWidgetDate => "";
26
27 public virtual float roundInterval => 1f;
28
29 public virtual Playlist playlist => null;
30
31 public virtual bool debugSkip => false;
32
33 public virtual string RefStr2 => null;
34
35 public virtual string RefStr3 => null;
36
37 public virtual int hoursToKill => 0;
38
39 public virtual bool HasReport => false;
40
41 public string Name => source.GetName();
42
43 public virtual string GetText()
44 {
45 return Lang.ParseRaw(source.GetDetail().Split('|')[1], "", RefStr2, RefStr3);
46 }
47
48 public void Tick(float delta)
49 {
50 if (firstTick)
51 {
52 firstTick = false;
54 }
55 OnTick();
56 time += delta;
57 if (time > roundInterval * (float)rounds)
58 {
59 rounds++;
61 }
62 }
63
64 public void Init()
65 {
66 OnInit();
67 }
68
69 public void OnSimulateHour()
70 {
73 {
74 Kill();
75 }
76 }
77
78 public virtual void OnVisit()
79 {
80 }
81
82 public virtual void OnInit()
83 {
84 }
85
86 public virtual void OnFirstTick()
87 {
88 }
89
90 public virtual void OnTick()
91 {
92 }
93
94 public virtual void OnTickRound()
95 {
96 }
97
98 public virtual void OnKill()
99 {
100 }
101
102 public virtual void OnCharaDie(Chara c)
103 {
104 }
105
106 public virtual void OnLeaveZone()
107 {
108 }
109
110 public void OnLoad(Zone _zone)
111 {
112 zone = _zone;
113 }
114
115 public void Kill()
116 {
117 if (zone == null)
118 {
119 zone = EClass._zone;
120 }
121 zone.events.list.Remove(this);
122 OnKill();
123 }
124}
Definition: Chara.cs:10
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
static SourceManager sources
Definition: EClass.cs:42
Definition: Lang.cs:6
static string ParseRaw(string text, string val1, string val2=null, string val3=null, string val4=null, string val5=null)
Definition: Lang.cs:119
SourceQuest quests
List< ZoneEvent > list
void OnSimulateHour()
Definition: ZoneEvent.cs:69
virtual void OnVisit()
Definition: ZoneEvent.cs:78
void Tick(float delta)
Definition: ZoneEvent.cs:48
virtual void OnLeaveZone()
Definition: ZoneEvent.cs:106
float time
Definition: ZoneEvent.cs:6
void OnLoad(Zone _zone)
Definition: ZoneEvent.cs:110
virtual bool HasReport
Definition: ZoneEvent.cs:39
virtual void OnTick()
Definition: ZoneEvent.cs:90
void Kill()
Definition: ZoneEvent.cs:115
int rounds
Definition: ZoneEvent.cs:9
string Name
Definition: ZoneEvent.cs:41
virtual void OnFirstTick()
Definition: ZoneEvent.cs:86
virtual bool debugSkip
Definition: ZoneEvent.cs:31
virtual string TextWidgetDate
Definition: ZoneEvent.cs:25
virtual float roundInterval
Definition: ZoneEvent.cs:27
virtual void OnCharaDie(Chara c)
Definition: ZoneEvent.cs:102
virtual void OnInit()
Definition: ZoneEvent.cs:82
bool firstTick
Definition: ZoneEvent.cs:19
virtual Playlist playlist
Definition: ZoneEvent.cs:29
virtual int hoursToKill
Definition: ZoneEvent.cs:37
int minElapsed
Definition: ZoneEvent.cs:15
virtual void OnTickRound()
Definition: ZoneEvent.cs:94
SourceQuest.Row source
Definition: ZoneEvent.cs:21
virtual string id
Definition: ZoneEvent.cs:23
Zone zone
Definition: ZoneEvent.cs:17
void Init()
Definition: ZoneEvent.cs:64
virtual string RefStr3
Definition: ZoneEvent.cs:35
virtual void OnKill()
Definition: ZoneEvent.cs:98
virtual string RefStr2
Definition: ZoneEvent.cs:33
virtual string GetText()
Definition: ZoneEvent.cs:43
int hoursElapsed
Definition: ZoneEvent.cs:12
Definition: Zone.cs:12
ZoneEventManager events
Definition: Zone.cs:40