Elin Modding Docs Doc
Loading...
Searching...
No Matches
PathProgress.cs
1using System;
2using System.Collections.Generic;
3using Algorithms;
4
5// Token: 0x020000BD RID: 189
6public class PathProgress
7{
8 // Token: 0x1700010B RID: 267
9 // (get) Token: 0x060004E6 RID: 1254 RVA: 0x00022311 File Offset: 0x00020511
10 public bool HasPath
11 {
12 get
13 {
14 return this.state == PathProgress.State.PathReady && this.nodes.Count >= 1;
15 }
16 }
17
18 // Token: 0x060004E7 RID: 1255 RVA: 0x0002232F File Offset: 0x0002052F
19 public bool IsDestinationReached(Point pos)
20 {
21 return Util.Distance(pos.x, pos.z, this.destPoint.x, this.destPoint.z) <= this.destDist;
22 }
23
24 // Token: 0x060004E8 RID: 1256 RVA: 0x00022364 File Offset: 0x00020564
25 public void RequestPath(Point _startPoint, Point _destPoint, int _destDist, bool _ignoreConnection, int _searchLimit = -1)
26 {
27 if (_startPoint.cell.isSurrounded4d || _destPoint.cell.isSurrounded4d)
28 {
29 this.state = PathProgress.State.Fail;
30 this.nodeIndex = 0;
31 this.nodes.Clear();
32 return;
33 }
34 this.startPoint.Set(_startPoint);
35 this.destPoint.Set(_destPoint);
36 this.destDist = _destDist;
37 this.ignoreConnection = _ignoreConnection;
38 this.searchLimit = ((_searchLimit == -1) ? PathManager.Instance.searchLimit : _searchLimit);
39 PathManager.Instance.RequestPath(this);
40 }
41
42 // Token: 0x060004E9 RID: 1257 RVA: 0x000223F4 File Offset: 0x000205F4
43 public void RequestPathImmediate(Point _startPoint, Point _destPoint, int _destDist, bool _ignoreConnection, int _searchLimit = -1)
44 {
45 if (_startPoint.cell.isSurrounded4d || _destPoint.cell.isSurrounded4d)
46 {
47 this.state = PathProgress.State.Fail;
48 this.nodeIndex = 0;
49 this.nodes.Clear();
50 return;
51 }
52 this.startPoint.Set(_startPoint);
53 this.destPoint.Set(_destPoint);
54 this.destDist = _destDist;
55 this.ignoreConnection = _ignoreConnection;
56 this.searchLimit = ((_searchLimit == -1) ? PathManager.Instance.searchLimit : _searchLimit);
57 PathManager.Instance.RequestPathImmediate(this);
58 }
59
60 // Token: 0x04000657 RID: 1623
61 public IPathfindWalker walker;
62
63 // Token: 0x04000658 RID: 1624
64 public List<PathFinderNode> nodes = new List<PathFinderNode>();
65
66 // Token: 0x04000659 RID: 1625
67 public Point startPoint = new Point();
68
69 // Token: 0x0400065A RID: 1626
70 public Point destPoint = new Point();
71
72 // Token: 0x0400065B RID: 1627
73 public int nodeIndex;
74
75 // Token: 0x0400065C RID: 1628
76 public PathProgress.State state;
77
78 // Token: 0x0400065D RID: 1629
79 public int destDist;
80
81 // Token: 0x0400065E RID: 1630
82 public int searchLimit;
83
84 // Token: 0x0400065F RID: 1631
85 public bool ignoreConnection;
86
87 // Token: 0x04000660 RID: 1632
88 public PathManager.MoveType moveType;
89
90 // Token: 0x02000808 RID: 2056
91 public enum State
92 {
93 // Token: 0x04002294 RID: 8852
94 Idle,
95 // Token: 0x04002295 RID: 8853
96 Searching,
97 // Token: 0x04002296 RID: 8854
98 PathReady,
99 // Token: 0x04002297 RID: 8855
100 Fail
101 }
102}
Definition Point.cs:11