Elin Modding Docs Doc
All Classes Namespaces
TaskMoveInstalled.cs
1using System;
2using System.Collections.Generic;
3using Newtonsoft.Json;
4using UnityEngine;
5
6// Token: 0x0200025E RID: 606
8{
9 // Token: 0x17000491 RID: 1169
10 // (get) Token: 0x06001108 RID: 4360 RVA: 0x000763DC File Offset: 0x000745DC
11 public override int W
12 {
13 get
14 {
15 if (this.dir % 2 != 0)
16 {
17 return this.target.sourceCard.H;
18 }
19 return this.target.sourceCard.W;
20 }
21 }
22
23 // Token: 0x17000492 RID: 1170
24 // (get) Token: 0x06001109 RID: 4361 RVA: 0x00076409 File Offset: 0x00074609
25 public override int H
26 {
27 get
28 {
29 if (this.dir % 2 != 0)
30 {
31 return this.target.sourceCard.W;
32 }
33 return this.target.sourceCard.H;
34 }
35 }
36
37 // Token: 0x0600110A RID: 4362 RVA: 0x00076438 File Offset: 0x00074638
38 public override HitResult GetHitResult()
39 {
40 if (!base.CanPlaceCard(this.pos, this.target))
41 {
42 return HitResult.Invalid;
43 }
44 if (base.PointHasOtherDesignation())
45 {
46 return HitResult.Invalid;
47 }
48 if (EClass.scene.actionMode.IsRoofEditMode(null))
49 {
50 return HitResult.Valid;
51 }
52 return this.target.TileType._HitTest(this.pos, this.target, true);
53 }
54
55 // Token: 0x0600110B RID: 4363 RVA: 0x00076496 File Offset: 0x00074696
56 public override IEnumerable<AIAct.Status> Run()
57 {
58 if (!this.target.ExistsOnMap)
59 {
60 yield return base.Destroy();
61 }
62 this.target.TryReserve(this);
63 yield return base.DoGrab(this.target, -1, false, null);
64 for (;;)
65 {
66 TaskMoveInstalled.<>c__DisplayClass8_0 CS$<>8__locals1 = new TaskMoveInstalled.<>c__DisplayClass8_0();
67 if (this.owner.held != this.target)
68 {
69 yield return this.Cancel();
70 }
71 CS$<>8__locals1.objPos = null;
72 this.pos.ForeachMultiSize(this.target.W, this.target.H, delegate(Point p, bool main)
73 {
74 if (p.HasObj)
75 {
76 CS$<>8__locals1.objPos = p.Copy();
77 }
78 });
79 if (CS$<>8__locals1.objPos == null)
80 {
81 break;
82 }
83 yield return base.Do(new TaskCut
84 {
85 pos = CS$<>8__locals1.objPos
86 }, null);
87 CS$<>8__locals1 = null;
88 }
89 yield return base.DoGoto(this.pos, 1, false, null);
90 this.OnProgressComplete();
91 yield break;
92 }
93
94 // Token: 0x0600110C RID: 4364 RVA: 0x000764A8 File Offset: 0x000746A8
95 public override void OnProgressComplete()
96 {
97 bool flag = this.target.placeState == PlaceState.roaming && this.target.ExistsOnMap;
98 if (this.owner == EClass.player.Agent)
99 {
100 EClass._zone.RemoveCard(this.target);
101 this.target.dir = this.dir;
102 EClass._zone.AddCard(this.target, this.pos);
103 }
104 else
105 {
106 this.target.dir = this.dir;
107 this.owner.DropHeld(this.pos);
108 }
109 if (flag)
110 {
111 this.target.SetPlaceState(PlaceState.roaming, false);
112 }
113 else
114 {
115 this.target.SetPlaceState(PlaceState.installed, false);
116 }
117 this.target.altitude = this.altitude;
118 this.target.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
119 this.target.PlayAnime(AnimeID.Place, false);
120 this.pos.PlaySound("build", true, 1f, true);
121 EClass._map.RefreshFOV(this.pos.x, this.pos.z, 6, false);
122 }
123
124 // Token: 0x04000DD2 RID: 3538
125 [JsonProperty]
126 public Card target;
127
128 // Token: 0x04000DD3 RID: 3539
129 [JsonProperty]
130 public int dir;
131
132 // Token: 0x04000DD4 RID: 3540
133 [JsonProperty]
134 public int altitude;
135}
Definition AIAct.cs:7
Definition Card.cs:13
Definition Point.cs:11