Elin Modding Docs Doc
Loading...
Searching...
No Matches
AM_Designation.cs
1using System;
2
3// Token: 0x0200013E RID: 318
5{
6 // Token: 0x060008D3 RID: 2259 RVA: 0x00038BC4 File Offset: 0x00036DC4
7 public virtual bool CanInstaComplete(T t)
8 {
9 return EClass.player.instaComplete || this.ForcedInstaComplete(t);
10 }
11
12 // Token: 0x060008D4 RID: 2260 RVA: 0x00038BDB File Offset: 0x00036DDB
13 public virtual bool ForcedInstaComplete(T t)
14 {
15 return false;
16 }
17
18 // Token: 0x17000214 RID: 532
19 // (get) Token: 0x060008D5 RID: 2261 RVA: 0x00038BDE File Offset: 0x00036DDE
20 public override string idSound
21 {
22 get
23 {
24 return "actionMode";
25 }
26 }
27
28 // Token: 0x17000215 RID: 533
29 // (get) Token: 0x060008D6 RID: 2262 RVA: 0x00038BE5 File Offset: 0x00036DE5
30 public override bool IsBuildMode
31 {
32 get
33 {
34 return true;
35 }
36 }
37
38 // Token: 0x060008D7 RID: 2263 RVA: 0x00038BE8 File Offset: 0x00036DE8
39 public virtual HitResult HitResultOnDesignation(Point p)
40 {
41 return HitResult.Outline;
42 }
43
44 // Token: 0x060008D8 RID: 2264 RVA: 0x00038BEB File Offset: 0x00036DEB
45 public override void OnActivate()
46 {
47 this.CreateNewMold(false);
48 }
49
50 // Token: 0x060008D9 RID: 2265 RVA: 0x00038BF4 File Offset: 0x00036DF4
51 public void CreateNewMold(bool processing = false)
52 {
53 this.mold = Activator.CreateInstance<T>();
54 this.OnCreateMold(processing);
55 }
56
57 // Token: 0x060008DA RID: 2266 RVA: 0x00038C08 File Offset: 0x00036E08
58 public virtual void OnCreateMold(bool processing = false)
59 {
60 }
61
62 // Token: 0x060008DB RID: 2267 RVA: 0x00038C0C File Offset: 0x00036E0C
63 public override HitResult HitTest(Point point, Point start)
64 {
65 if (!base.Summary.CanExecute())
66 {
67 return HitResult.Invalid;
68 }
69 if (point.HasDesignation)
70 {
71 return this.HitResultOnDesignation(point);
72 }
73 this.mold.pos.Set(point);
74 HitResult hitResult = this.mold.GetHitResult();
75 if (hitResult != HitResult.Default)
76 {
77 return hitResult;
78 }
79 return base.HitTest(point, start);
80 }
81
82 // Token: 0x060008DC RID: 2268 RVA: 0x00038C6D File Offset: 0x00036E6D
83 public override bool CanProcessTiles()
84 {
85 return base.Summary.CanExecute() && base.Summary.countValid != 0 && base.CanProcessTiles();
86 }
87
88 // Token: 0x060008DD RID: 2269 RVA: 0x00038C93 File Offset: 0x00036E93
89 public override void OnBeforeProcessTiles()
90 {
91 this.CreateNewMold(true);
92 EClass._map.tasks.undo.NewItem();
93 }
94
95 // Token: 0x060008DE RID: 2270 RVA: 0x00038CB0 File Offset: 0x00036EB0
96 public override void OnProcessTiles(Point point, int dir)
97 {
98 this.mold.pos.Set(point);
99 if (this.list.TryAdd(this.mold))
100 {
101 EClass._map.tasks.undo.Add(this.mold);
102 this.CreateNewMold(true);
103 }
104 T t = this.list.items.LastItem<T>();
105 if (t != null && this.CanInstaComplete(t))
106 {
107 t.owner = EClass.player.Agent;
108 EClass.player.Agent.pos.Set(t.pos);
109 t.OnProgressComplete();
110 t.Destroy();
111 }
112 }
113
114 // Token: 0x060008DF RID: 2271 RVA: 0x00038D80 File Offset: 0x00036F80
115 public override void OnAfterProcessTiles(Point start, Point end)
116 {
117 this.CreateNewMold(false);
118 }
119
120 // Token: 0x060008E0 RID: 2272 RVA: 0x00038D8C File Offset: 0x00036F8C
121 public override void OnRefreshSummary(Point point, HitResult result, HitSummary summary)
122 {
123 summary.count++;
124 if (result == HitResult.Valid || result == HitResult.Warning)
125 {
126 this.mold.pos.Set(point);
127 if (this.CanInstaComplete(this.mold) && !this.ForcedInstaComplete(this.mold))
128 {
129 summary.money += this.CostMoney;
130 }
131 summary.countValid++;
132 }
133 }
134
135 // Token: 0x040008DB RID: 2267
136 public TaskList<T> list;
137
138 // Token: 0x040008DC RID: 2268
139 public T mold;
140}
Definition Point.cs:11