Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Task.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2
3public class Task : AIAct
4{
6
7 public bool isDestroyed;
8
9 public int nextTry;
10
11 [JsonProperty]
12 public bool suspended;
13
15
16 public virtual HitResult GetHitResult()
17 {
18 return HitResult.Valid;
19 }
20
21 public override void OnSuccess()
22 {
23 Destroy();
24 }
25
26 public void TryLater(int min = 30)
27 {
28 nextTry = EClass.game.sessionMin + min;
29 }
30
31 public Status Destroy()
32 {
33 if (status == Status.Running)
34 {
35 status = Status.Fail;
36 }
37 if (isDestroyed)
38 {
39 return status;
40 }
41 isDestroyed = true;
42 if (taskList != null)
43 {
44 taskList.Remove(this);
45 }
46 OnDestroy();
47 return status;
48 }
49
50 public virtual void OnDestroy()
51 {
52 }
53
54 public override Status Cancel()
55 {
56 TryLater();
57 return base.Cancel();
58 }
59
60 public override void OnReset()
61 {
62 if (!isDestroyed && taskList != null)
63 {
65 }
66 }
67
68 public override bool CanProgress()
69 {
70 if (isDestroyed)
71 {
72 return false;
73 }
74 HitResult hitResult = GetHitResult();
75 if (hitResult != HitResult.Valid)
76 {
77 return hitResult == HitResult.Warning;
78 }
79 return true;
80 }
81
82 public bool CanPerformTask(Chara chara, int radius)
83 {
84 if (!suspended)
85 {
86 return _CanPerformTask(chara, radius);
87 }
88 return false;
89 }
90
91 public virtual bool _CanPerformTask(Chara chara, int radius)
92 {
93 return true;
94 }
95
96 public virtual void OnAdd()
97 {
98 }
99
100 public void ToggleSuspend()
101 {
103 if (suspended && IsRunning)
104 {
105 Cancel();
106 }
107 }
108}
HitResult
Definition: HitResult.cs:2
Definition: AIAct.cs:6
virtual bool IsRunning
Definition: AIAct.cs:31
Status status
Definition: AIAct.cs:16
Status
Definition: AIAct.cs:8
Definition: Chara.cs:10
static TargetTypeGround Ground
Definition: TargetType.cs:15
virtual void SetAstLastItem(Task t)
Definition: TaskList.cs:16
virtual void Remove(Task t)
Definition: TaskList.cs:25
Definition: Task.cs:4
void ToggleSuspend()
Definition: Task.cs:100
bool suspended
Definition: Task.cs:12
override Status Cancel()
Definition: Task.cs:54
virtual bool _CanPerformTask(Chara chara, int radius)
Definition: Task.cs:91
override void OnSuccess()
Definition: Task.cs:21
override void OnReset()
Definition: Task.cs:60
TaskList taskList
Definition: Task.cs:5
bool isDestroyed
Definition: Task.cs:7
Status Destroy()
Definition: Task.cs:31
bool CanPerformTask(Chara chara, int radius)
Definition: Task.cs:82
override bool CanProgress()
Definition: Task.cs:68
virtual void OnDestroy()
Definition: Task.cs:50
virtual HitResult GetHitResult()
Definition: Task.cs:16
int nextTry
Definition: Task.cs:9
void TryLater(int min=30)
Definition: Task.cs:26
virtual void OnAdd()
Definition: Task.cs:96