Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TaskMoveInstalled.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Newtonsoft.Json;
3using UnityEngine;
4
6{
7 [JsonProperty]
8 public Card target;
9
10 [JsonProperty]
11 public int dir;
12
13 [JsonProperty]
14 public int altitude;
15
16 public override int W
17 {
18 get
19 {
20 if (dir % 2 != 0)
21 {
22 return target.sourceCard.H;
23 }
24 return target.sourceCard.W;
25 }
26 }
27
28 public override int H
29 {
30 get
31 {
32 if (dir % 2 != 0)
33 {
34 return target.sourceCard.W;
35 }
36 return target.sourceCard.H;
37 }
38 }
39
40 public override HitResult GetHitResult()
41 {
42 if (!CanPlaceCard(pos, target))
43 {
44 return HitResult.Invalid;
45 }
47 {
48 return HitResult.Invalid;
49 }
51 {
52 return HitResult.Valid;
53 }
55 }
56
57 public override IEnumerable<Status> Run()
58 {
60 {
61 yield return Destroy();
62 }
63 target.TryReserve(this);
64 yield return DoGrab(target);
65 while (true)
66 {
67 if (owner.held != target)
68 {
69 yield return Cancel();
70 }
71 Point objPos = null;
72 pos.ForeachMultiSize(target.W, target.H, delegate(Point p, bool main)
73 {
74 if (p.HasObj)
75 {
76 objPos = p.Copy();
77 }
78 });
79 if (objPos == null)
80 {
81 break;
82 }
83 yield return Do(new TaskCut
84 {
85 pos = objPos
86 });
87 }
88 yield return DoGoto(pos, 1);
90 }
91
92 public override void OnProgressComplete()
93 {
94 bool num = target.placeState == PlaceState.roaming && target.ExistsOnMap;
95 if (owner == EClass.player.Agent)
96 {
98 target.dir = dir;
100 }
101 else
102 {
103 target.dir = dir;
105 }
106 if (num)
107 {
109 }
110 else
111 {
113 }
114 target.altitude = altitude;
115 target.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
116 target.PlayAnime(AnimeID.Place);
117 pos.PlaySound("build");
119 }
120}
AnimeID
Definition: AnimeID.cs:2
HitResult
Definition: HitResult.cs:2
PlaceState
Definition: PlaceState.cs:2
Status DoGrab(Card card, int num=-1, bool pickHeld=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:492
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:416
new Chara owner
Definition: AIAct.cs:14
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:432
virtual bool IsRoofEditMode(Card c=null)
Definition: ActionMode.cs:311
Definition: Card.cs:11
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3454
bool TryReserve(AIAct act)
Definition: Card.cs:2361
bool ExistsOnMap
Definition: Card.cs:1961
TileType TileType
Definition: Card.cs:2011
int H
Definition: Card.cs:2226
int W
Definition: Card.cs:2214
virtual CardRow sourceCard
Definition: Card.cs:2007
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5423
Card held
Definition: Chara.cs:67
Card DropHeld(Point dropPos=null)
Definition: Chara.cs:4213
Definition: EClass.cs:5
static Scene scene
Definition: EClass.cs:30
static Zone _zone
Definition: EClass.cs:20
static Map _map
Definition: EClass.cs:18
static Player player
Definition: EClass.cs:12
void RefreshFOV(int x, int z, int radius=6, bool recalculate=false)
Definition: Map.cs:923
Chara Agent
Definition: Player.cs:1075
Definition: Point.cs:9
void ForeachMultiSize(int w, int h, Action< Point, bool > action)
Definition: Point.cs:1349
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1217
bool HasObj
Definition: Point.cs:137
ActionMode actionMode
Definition: Scene.cs:77
bool CanPlaceCard(Point pos, Card c)
Definition: TaskBaseBuild.cs:3
bool PointHasOtherDesignation()
override void OnProgressComplete()
override HitResult GetHitResult()
override IEnumerable< Status > Run()
Point pos
Definition: TaskPoint.cs:11
override Status Cancel()
Definition: Task.cs:54
Status Destroy()
Definition: Task.cs:31
HitResult _HitTest(Point pos, Card target, bool canIgnore=true)
Definition: TileType.cs:287
void RemoveCard(Card t)
Definition: Zone.cs:1933
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893