11 public override bool HasProgress
21 public virtual int destDist
31 public virtual bool destIgnoreConnection
41 public virtual bool isBlock
51 public virtual bool Loop
60 public override bool CanManualCancel()
62 return base.IsChildRunning && this.child is
AI_Goto;
66 public override bool CanPerform()
68 if (this.owner ==
null)
74 HitResult hitResult = this.GetHitResult();
76 return hitResult == HitResult.Valid || hitResult == HitResult.Warning;
80 public override bool _CanPerformTask(
Chara chara,
int radius)
82 return (radius == -1 || chara.pos.Distance(
this.pos) <= radius) && !this.pos.cell.isSurrounded;
86 public override IEnumerable<
AIAct.Status> Run()
88 if (this.owner.IsPC &&
AM_Adv.actCount > 0)
90 while (EInput.rightMouse.pressing)
93 if (this.CanPerform())
97 yield
return AIAct.Status.Running;
100 if (!this.CanPerform() || !EInput.rightMouse.pressing || (
this.HasProgress && !
this.CanProgress()))
102 yield
return base.Destroy();
107 if (this.owner.pos.Distance(
this.pos) >
this.destDist)
109 yield
return base.DoGoto(this.pos, this.destDist, this.destIgnoreConnection,
null);
110 if (this.owner.pos.Distance(
this.pos) >
this.destDist)
112 string[] array =
new string[5];
113 array[0] =
AM_Adv.actCount.ToString();
116 Point point = this.pos;
117 array[num] = ((point !=
null) ? point.ToString() :
null);
120 Point point2 = this.owner.pos;
121 array[num2] = ((point2 !=
null) ? point2.ToString() :
null);
122 Debug.Log(
string.Concat(array));
123 Debug.Log(this.destDist.ToString() +
"/" +
this.owner.pos.Distance(
this.pos).ToString());
124 yield
return base.Destroy();
127 if (!this.CanProgress())
129 yield
return base.Destroy();
131 if (this.HasProgress)
133 yield
return base.DoProgress();
137 yield
return base.KeepRunning();
138 this.OnProgressComplete();
140 if (this.owner !=
null && this.owner.IsPC)
150 public void OnInspect()
156 public bool CanInspect
160 return !this.isDestroyed;
166 public string InspectName
170 return base.source.GetName();
176 public Point InspectPoint
186 public unsafe Vector3 InspectPosition
190 return *this.pos.Position();
195 public void WriteNote(UINote n, Action<UINote> onWriteNote =
null,
IInspect.NoteMode mode =
IInspect.NoteMode.Default,
Recipe recipe =
null)
198 n.AddHeaderCard(this.Name,
null);
210 public bool isRepeated;