Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TaskPoint.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using Newtonsoft.Json;
4using UnityEngine;
5
6public class TaskPoint : Task, IInspect
7{
8 private static Point tempPos = new Point();
9
10 [JsonProperty]
11 public Point pos = new Point();
12
13 public bool isRepeated;
14
15 public override bool HasProgress => false;
16
17 public virtual int destDist => 0;
18
19 public virtual bool destIgnoreConnection => false;
20
21 public virtual bool isBlock => false;
22
23 public virtual bool Loop => false;
24
25 public bool CanInspect => !isDestroyed;
26
27 public string InspectName => base.source.GetName();
28
30
31 public Vector3 InspectPosition => pos.Position();
32
33 public override bool CanManualCancel()
34 {
35 if (base.IsChildRunning)
36 {
37 return child is AI_Goto;
38 }
39 return false;
40 }
41
42 public override bool CanPerform()
43 {
44 if (owner == null)
45 {
46 owner = Act.CC;
47 }
49 pos.Set(Act.TP);
50 HitResult hitResult = GetHitResult();
52 if (hitResult != HitResult.Valid)
53 {
54 return hitResult == HitResult.Warning;
55 }
56 return true;
57 }
58
59 public override bool _CanPerformTask(Chara chara, int radius)
60 {
61 if (radius != -1 && chara.pos.Distance(pos) > radius)
62 {
63 return false;
64 }
66 {
67 return false;
68 }
69 return true;
70 }
71
72 public override IEnumerable<Status> Run()
73 {
74 if (owner.IsPC && AM_Adv.actCount > 0)
75 {
77 {
79 if (CanPerform())
80 {
81 break;
82 }
83 yield return Status.Running;
84 }
87 {
88 yield return Destroy();
89 }
90 }
91 do
92 {
94 {
97 {
98 Debug.Log(AM_Adv.actCount + "/" + pos?.ToString() + "/" + owner.pos);
99 Debug.Log(destDist + "/" + owner.pos.Distance(pos));
100 yield return Destroy();
101 }
102 }
103 if (!CanProgress())
104 {
105 yield return Destroy();
106 }
107 if (HasProgress)
108 {
109 yield return DoProgress();
110 }
111 else
112 {
113 yield return KeepRunning();
115 }
116 if (owner != null && owner.IsPC)
117 {
119 }
120 }
121 while (Loop);
122 }
123
124 public void OnInspect()
125 {
126 }
127
128 public void WriteNote(UINote n, Action<UINote> onWriteNote = null, IInspect.NoteMode mode = IInspect.NoteMode.Default, Recipe recipe = null)
129 {
130 n.Clear();
132 n.Build();
133 }
134}
HitResult
Definition: HitResult.cs:2
new Chara owner
Definition: AIAct.cs:14
AIAct child
Definition: AIAct.cs:20
Status
Definition: AIAct.cs:8
virtual new string Name
Definition: AIAct.cs:68
virtual void OnProgressComplete()
Definition: AIAct.cs:574
Status DoProgress()
Definition: AIAct.cs:517
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:432
Status KeepRunning()
Definition: AIAct.cs:321
Definition: AM_Adv.cs:6
PointTarget mouseTarget
Definition: AM_Adv.cs:170
static int actCount
Definition: AM_Adv.cs:101
Definition: ACT.cs:62
static Point TP
Definition: ACT.cs:81
static Chara CC
Definition: ACT.cs:77
static AM_Adv Adv
Definition: ActionMode.cs:15
bool pressing
Definition: ButtonState.cs:35
Point pos
Definition: Card.cs:55
bool isSurrounded
Definition: Cell.cs:234
Definition: Chara.cs:10
override bool IsPC
Definition: Chara.cs:597
Definition: EInput.cs:8
static ButtonState rightMouse
Definition: EInput.cs:351
Definition: Point.cs:9
ref Vector3 Position(int height)
Definition: Point.cs:524
override string ToString()
Definition: Point.cs:500
Point Set(int _x, int _z)
Definition: Point.cs:479
int Distance(Point p)
Definition: Point.cs:953
Cell cell
Definition: Point.cs:51
Definition: Recipe.cs:7
Point pos
Definition: TaskPoint.cs:11
virtual bool Loop
Definition: TaskPoint.cs:23
virtual bool isBlock
Definition: TaskPoint.cs:21
override bool CanPerform()
Definition: TaskPoint.cs:42
bool isRepeated
Definition: TaskPoint.cs:13
override IEnumerable< Status > Run()
Definition: TaskPoint.cs:72
Vector3 InspectPosition
Definition: TaskPoint.cs:31
void OnInspect()
Definition: TaskPoint.cs:124
void WriteNote(UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
Definition: TaskPoint.cs:128
bool CanInspect
Definition: TaskPoint.cs:25
override bool _CanPerformTask(Chara chara, int radius)
Definition: TaskPoint.cs:59
virtual bool destIgnoreConnection
Definition: TaskPoint.cs:19
static Point tempPos
Definition: TaskPoint.cs:8
string InspectName
Definition: TaskPoint.cs:27
Point InspectPoint
Definition: TaskPoint.cs:29
override bool HasProgress
Definition: TaskPoint.cs:15
override bool CanManualCancel()
Definition: TaskPoint.cs:33
virtual int destDist
Definition: TaskPoint.cs:17
Definition: Task.cs:4
bool isDestroyed
Definition: Task.cs:7
Status Destroy()
Definition: Task.cs:31
override bool CanProgress()
Definition: Task.cs:68
virtual HitResult GetHitResult()
Definition: Task.cs:16
Definition: UINote.cs:6
UIItem AddHeaderCard(string text, Sprite sprite=null)
Definition: UINote.cs:84
void Clear()
Definition: UINote.cs:35
void Build()
Definition: UINote.cs:49
NoteMode
Definition: IInspect.cs:7