Elin Decompiled Documentation EA 23.344.1 Nightly
Loading...
Searching...
No Matches
AM_MoveInstalled Class Reference
Inheritance diagram for AM_MoveInstalled:
AM_Designation< TaskMoveInstalled > AM_Inspect

Public Member Functions

override bool IsRoofEditMode (Card c=null)
 
override HitResult HitResultOnDesignation (Point p)
 
override bool CanInstaComplete (TaskMoveInstalled t)
 
override int TopHeight (Point p)
 
override MeshPass GetGuidePass (Point point)
 
void Activate (Thing t)
 
override void OnActivate ()
 
override void OnDeactivate ()
 
override void OnCreateMold (bool processing)
 
override HitResult HitTest (Point point, Point start)
 
void SetTarget (Card _target)
 
Card GetTarget (Point point)
 
bool CanPutAway ()
 
bool TryPutAway ()
 
bool CheckEnemyNearBy (Card t, Point p, bool msg=true)
 
override void OnProcessTiles (Point point, int dir)
 
override void OnRenderTile (Point point, HitResult result, int dir)
 
override void RotateUnderMouse ()
 
override void InputWheel (int wheel)
 
override void OnCancel ()
 
override void OnFinishProcessTiles ()
 
- Public Member Functions inherited from AM_Designation< TaskMoveInstalled >
virtual bool CanInstaComplete (T t)
 
virtual bool ForcedInstaComplete (T t)
 
virtual HitResult HitResultOnDesignation (Point p)
 
override void OnActivate ()
 
void CreateNewMold (bool processing=false)
 
virtual void OnCreateMold (bool processing=false)
 
override HitResult HitTest (Point point, Point start)
 
override bool CanProcessTiles ()
 
override void OnBeforeProcessTiles ()
 
override void OnProcessTiles (Point point, int dir)
 
override void OnAfterProcessTiles (Point start, Point end)
 
override void OnRefreshSummary (Point point, HitResult result, HitSummary summary)
 

Public Attributes

Card target
 
Card moldCard
 
bool onetime
 
- Public Attributes inherited from AM_Designation< TaskMoveInstalled >
TaskList< T > list
 
mold
 

Properties

override int hitW [get]
 
override int hitH [get]
 
override int CostMoney [get]
 
override BaseTileMap.CardIconMode cardIconMode [get]
 
override bool AllowMiddleClickFunc [get]
 
bool FreePos [get]
 
override BaseTileSelector.SelectType selectType [get]
 
override bool ShouldHideBuildMenu [get]
 
- Properties inherited from AM_Designation< TaskMoveInstalled >
override string idSound [get]
 
override bool IsBuildMode [get]
 

Detailed Description

Definition at line 3 of file AM_MoveInstalled.cs.

Member Function Documentation

◆ Activate()

void AM_MoveInstalled.Activate ( Thing  t)
inline

◆ CanInstaComplete()

override bool AM_MoveInstalled.CanInstaComplete ( TaskMoveInstalled  t)
inline

Definition at line 67 of file AM_MoveInstalled.cs.

68 {
70 }
static Player player
Definition: EClass.cs:13
bool instaComplete
Definition: Player.cs:1228

References Player.instaComplete, and EClass.player.

◆ CanPutAway()

bool AM_MoveInstalled.CanPutAway ( )
inline

Definition at line 188 of file AM_MoveInstalled.cs.

189 {
190 if (target == null)
191 {
192 return false;
193 }
195 {
196 return true;
197 }
199 {
200 return false;
201 }
202 return true;
203 }
Trait trait
Definition: Card.cs:54
virtual bool isChara
Definition: Card.cs:2135
bool ignoreBuildRule
Definition: CoreDebug.cs:201
static CoreDebug debug
Definition: EClass.cs:49
virtual bool CanPutAway
Definition: Trait.cs:150

References Trait.CanPutAway, EClass.debug, CoreDebug.ignoreBuildRule, Card.isChara, target, and Card.trait.

Referenced by TryPutAway(), and ActionHint.UpdateText().

◆ CheckEnemyNearBy()

bool AM_MoveInstalled.CheckEnemyNearBy ( Card  t,
Point  p,
bool  msg = true 
)
inline

Definition at line 222 of file AM_MoveInstalled.cs.

223 {
225 {
226 bool flag = true;
227 foreach (Chara chara in EClass._map.charas)
228 {
229 if (chara.hostility <= Hostility.Enemy && chara.Dist(p) <= 6)
230 {
231 flag = false;
232 }
233 }
234 if (!flag)
235 {
236 if (msg)
237 {
238 SE.BeepSmall();
239 EClass.ui.Say("enemyInMap".langGame());
240 }
241 return true;
242 }
243 }
244 return false;
245 }
Hostility
Definition: Hostility.cs:2
int Dist(Card c)
Definition: Card.cs:8204
Definition: Chara.cs:10
Hostility hostility
Definition: Chara.cs:295
static Map _map
Definition: EClass.cs:19
List< Chara > charas
Definition: Map.cs:84

References EClass._map, Map.charas, EClass.debug, Card.Dist(), Chara.hostility, CoreDebug.ignoreBuildRule, Card.isChara, and EClass.ui.

Referenced by HitTest(), and OnProcessTiles().

◆ GetGuidePass()

override MeshPass AM_MoveInstalled.GetGuidePass ( Point  point)
inline

Definition at line 81 of file AM_MoveInstalled.cs.

82 {
84 }
ScreenGuide guide
static BaseGameScreen screen
Definition: EClass.cs:33
MeshPass passGuideBlock
Definition: ScreenGuide.cs:5

References BaseGameScreen.guide, ScreenGuide.passGuideBlock, and EClass.screen.

◆ GetTarget()

Card AM_MoveInstalled.GetTarget ( Point  point)
inline

Definition at line 183 of file AM_MoveInstalled.cs.

184 {
186 }
static Scene scene
Definition: EClass.cs:31
PointTarget mouseTarget
Definition: Scene.cs:135

References PointTarget.card, Scene.mouseTarget, and EClass.scene.

Referenced by HitTest(), and OnProcessTiles().

◆ HitResultOnDesignation()

override HitResult AM_MoveInstalled.HitResultOnDesignation ( Point  p)
inlinevirtual

Reimplemented from AM_Designation< TaskMoveInstalled >.

Definition at line 62 of file AM_MoveInstalled.cs.

63 {
64 return HitResult.Invalid;
65 }
HitResult
Definition: HitResult.cs:2

◆ HitTest()

override HitResult AM_MoveInstalled.HitTest ( Point  point,
Point  start 
)
inline

Definition at line 112 of file AM_MoveInstalled.cs.

113 {
114 if (EClass.debug.enable)
115 {
116 switch (EInput.hotkey)
117 {
118 case 0:
119 EClass._map.SetDecal(point.x, point.z);
120 break;
121 case 1:
122 EClass._map.AddDecal(point.x, point.z, 2);
123 break;
124 }
125 }
126 if (target == null)
127 {
129 {
130 return HitResult.Warning;
131 }
132 if (GetTarget(point) != null)
133 {
134 return HitResult.Valid;
135 }
136 return HitResult.Default;
137 }
138 if (target.isChara && CheckEnemyNearBy(target, point, msg: false))
139 {
140 return HitResult.Invalid;
141 }
142 moldCard.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
144 {
145 if (target.isChara && (point.IsBlocked || point.HasChara))
146 {
147 return HitResult.Invalid;
148 }
149 if (!EClass._map.bounds.Contains(point))
150 {
151 return HitResult.Invalid;
152 }
153 }
154 return base.HitTest(point, start);
155 }
Card GetTarget(Point point)
bool CheckEnemyNearBy(Card t, Point p, bool msg=true)
bool enable
Definition: CoreDebug.cs:302
Definition: EInput.cs:8
static int hotkey
Definition: EInput.cs:294
bool Contains(int dx, int dz)
Definition: MapBounds.cs:38
void SetDecal(int x, int z, int id=0, int amount=1, bool refresh=true)
Definition: Map.cs:2191
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2169
MapBounds bounds
Definition: Map.cs:55
bool CanCycle()
Definition: PointTarget.cs:215
bool IsBlocked
Definition: Point.cs:363
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
bool HasChara
Definition: Point.cs:238

References EClass._map, Map.AddDecal(), Map.bounds, PointTarget.CanCycle(), CheckEnemyNearBy(), MapBounds.Contains(), EClass.debug, CoreDebug.enable, GetTarget(), Point.HasChara, EInput.hotkey, CoreDebug.ignoreBuildRule, Point.IsBlocked, Card.isChara, Scene.mouseTarget, EClass.scene, Map.SetDecal(), target, Point.x, and Point.z.

◆ InputWheel()

override void AM_MoveInstalled.InputWheel ( int  wheel)
inline

Definition at line 403 of file AM_MoveInstalled.cs.

404 {
406 {
407 if (target != null && target.TileType.MaxAltitude > 0)
408 {
410 }
411 else if (EClass.scene.mouseTarget.CanCycle())
412 {
414 }
415 else
416 {
417 base.InputWheel(wheel);
418 }
419 }
420 }
void ChangeAltitude(int a)
Definition: Card.cs:6755
TileType TileType
Definition: Card.cs:2189
static bool isCtrlDown
Definition: EInput.cs:274
void CycleTarget(int a)
Definition: PointTarget.cs:204
virtual int MaxAltitude
Definition: TileType.cs:228

References PointTarget.CanCycle(), PointTarget.CycleTarget(), EClass.debug, CoreDebug.enable, EInput.isCtrlDown, Scene.mouseTarget, and EClass.scene.

◆ IsRoofEditMode()

override bool AM_MoveInstalled.IsRoofEditMode ( Card  c = null)
inline

Definition at line 57 of file AM_MoveInstalled.cs.

58 {
60 }
bool _IsRoofEditMode(Card c)
Definition: AM_Build.cs:74
static AM_Build Build
Definition: ActionMode.cs:49

References AM_Build._IsRoofEditMode(), ActionMode.Build, and target.

Referenced by OnProcessTiles().

◆ OnActivate()

override void AM_MoveInstalled.OnActivate ( )
inline

Definition at line 94 of file AM_MoveInstalled.cs.

95 {
96 onetime = false;
97 list = base.Designations.moveInstalled;
98 target = (moldCard = null);
99 base.OnActivate();
100 }

References AM_Designation< TaskMoveInstalled >.list, moldCard, onetime, and target.

◆ OnCancel()

override void AM_MoveInstalled.OnCancel ( )
inline

Definition at line 422 of file AM_MoveInstalled.cs.

423 {
424 if (target != null)
425 {
426 target = null;
427 if (onetime)
428 {
429 base.OnCancel();
430 }
431 }
432 else
433 {
434 base.OnCancel();
435 }
436 }

◆ OnCreateMold()

override void AM_MoveInstalled.OnCreateMold ( bool  processing)
inlinevirtual

Reimplemented from AM_Designation< TaskMoveInstalled >.

Definition at line 107 of file AM_MoveInstalled.cs.

108 {
109 mold.target = target;
110 }

References target.

◆ OnDeactivate()

override void AM_MoveInstalled.OnDeactivate ( )
inline

Definition at line 102 of file AM_MoveInstalled.cs.

103 {
104 target = (moldCard = (mold.target = null));
105 }

References moldCard, and target.

◆ OnFinishProcessTiles()

override void AM_MoveInstalled.OnFinishProcessTiles ( )
inline

Definition at line 438 of file AM_MoveInstalled.cs.

439 {
440 if (onetime)
441 {
442 Deactivate();
443 }
444 }

◆ OnProcessTiles()

override void AM_MoveInstalled.OnProcessTiles ( Point  point,
int  dir 
)
inline

Definition at line 247 of file AM_MoveInstalled.cs.

248 {
249 if (target == null)
250 {
251 Card t = GetTarget(point);
252 if (CheckEnemyNearBy(t, t.pos))
253 {
254 return;
255 }
257 {
258 ActPlan actPlan = new ActPlan
259 {
260 pos = point.Copy(),
261 ignoreAddCondition = true,
262 input = ActInput.AllAction,
263 altAction = true
264 };
265 t.trait.TrySetAct(actPlan);
266 if (actPlan.list.Count > 0)
267 {
268 UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
269 uIContextMenu.AddButton("move", delegate
270 {
271 SetTarget(t);
272 SE.Click();
273 });
274 foreach (ActPlan.Item i in actPlan.list)
275 {
276 uIContextMenu.AddButton(i.GetTextContext(showName: false), delegate
277 {
278 i.act.Perform();
279 });
280 }
281 uIContextMenu.Show();
282 return;
283 }
284 }
285 SetTarget(t);
286 SE.Click();
287 }
288 else
289 {
290 if (CheckEnemyNearBy(target, point))
291 {
292 return;
293 }
294 mold.dir = moldCard.dir;
295 mold.altitude = moldCard.altitude;
296 if (target.isChara)
297 {
298 target.Chara.orgPos?.Set(point);
299 }
300 base.OnProcessTiles(point, dir);
301 target.ignoreStackHeight = moldCard.ignoreStackHeight;
302 target.freePos = moldCard.freePos;
303 target.fx = (FreePos ? moldCard.fx : 0f);
304 target.fy = (FreePos ? moldCard.fy : 0f);
305 if (target.isChara && (bool)EClass.debug)
306 {
307 foreach (Thing thing in point.Things)
308 {
309 if (thing.trait is TraitShackle traitShackle)
310 {
311 traitShackle.Restrain(target.Chara);
312 }
313 }
314 }
315 if (target.isThing)
316 {
317 bool isRoofItem = target.isRoofItem;
318 target.isRoofItem = IsRoofEditMode();
319 if (target.isRoofItem)
320 {
322 }
323 else if (isRoofItem)
324 {
326 }
327 if (!target.isRoofItem)
328 {
329 target.ForeachPoint(delegate(Point p, bool center)
330 {
331 if (p.IsBlocked && p.HasChara)
332 {
333 foreach (Chara item in p.ListCharas())
334 {
335 EClass.pc.Kick(item, ignoreSelf: true, karmaLoss: false, show: false);
336 }
337 }
338 });
339 }
340 }
341 SE.Click();
343 {
345 }
346 target = null;
347 }
348 }
ActInput
Definition: ActInput.cs:2
PlaceState
Definition: PlaceState.cs:2
override bool IsRoofEditMode(Card c=null)
List list
Definition: ActPlan.cs:166
void RefreshSprite()
Definition: Card.cs:11
virtual bool isThing
Definition: Card.cs:2133
virtual Chara Chara
Definition: Card.cs:2122
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3928
bool isRoofItem
Definition: Card.cs:581
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8369
Point pos
Definition: Card.cs:60
int altitude
Definition: Card.cs:233
int dir
Definition: Card.cs:149
bool freePos
Definition: Card.cs:521
CardRenderer renderer
Definition: Card.cs:64
bool ignoreStackHeight
Definition: Card.cs:641
Point orgPos
Definition: Chara.cs:21
Definition: Point.cs:9
Point Copy()
Definition: Point.cs:491
Point Set(int _x, int _z)
Definition: Point.cs:503
List< Thing > Things
Definition: Point.cs:338
Definition: Thing.cs:8
virtual void TrySetAct(ActPlan p)
Definition: Trait.cs:1229
virtual bool ShowContextOnPick
Definition: Trait.cs:191
void Show(UIItem i)
void AddButton(Func< string > funcText, UnityAction action=null)

References UIContextMenu.AddButton(), Card.altitude, Card.Chara, CheckEnemyNearBy(), Point.Copy(), EClass.debug, Card.dir, Card.ForeachPoint(), FreePos, Card.freePos, GetTarget(), CardRenderer.hasActor, Point.HasChara, Card.ignoreStackHeight, Point.IsBlocked, Card.isChara, IsRoofEditMode(), Card.isRoofItem, Card.isThing, ActPlan.list, moldCard, Chara.orgPos, Card.pos, CardRenderer.RefreshSprite(), Card.renderer, Point.Set(), Card.SetPlaceState(), SetTarget(), UIContextMenu.Show(), Trait.ShowContextOnPick, target, Point.Things, Card.trait, Trait.TrySetAct(), and EClass.ui.

◆ OnRenderTile()

override void AM_MoveInstalled.OnRenderTile ( Point  point,
HitResult  result,
int  dir 
)
inline

Definition at line 350 of file AM_MoveInstalled.cs.

351 {
352 if (target == null)
353 {
354 Card card = GetTarget(point);
355 if (card != null && card.isThing)
356 {
357 card.Thing.RenderMarker(point, active: true, result, main: true, -1, useCurrentPosition: true);
358 }
359 base.OnRenderTile(point, (result != HitResult.Valid) ? result : (EClass.scene.mouseTarget.CanCycle() ? HitResult.Warning : HitResult.Default), dir);
360 return;
361 }
362 if (moldCard == null)
363 {
364 base.OnRenderTile(point, result, dir);
365 return;
366 }
367 moldCard.SetFreePos(point);
368 if (result != HitResult.Valid && result != HitResult.Warning)
369 {
370 base.OnRenderTile(point, result, dir);
371 }
372 else
373 {
374 int desiredDir = target.TileType.GetDesiredDir(point, moldCard.dir);
375 if (desiredDir != -1)
376 {
377 int num = (moldCard.dir = desiredDir);
378 dir = num;
379 }
380 bool flag = !base.tileSelector.multisize || (base.tileSelector.firstInMulti && base.Summary.count == base.Summary.countValid);
381 moldCard.RenderMarker(point, active: false, result, flag, -1);
382 if (flag)
383 {
384 target.trait.OnRenderTile(point, result, dir);
385 }
386 }
388 }
void RenderMarker(Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
Definition: Card.cs:6797
void SetFreePos(Point point)
Definition: Card.cs:6773
ref Vector3 PositionCenter()
Definition: Point.cs:592
void DrawLine(Vector3 from, Vector3 to)
Definition: ScreenGuide.cs:17
virtual int GetDesiredDir(Point p, int d)
Definition: TileType.cs:400
virtual void OnRenderTile(Point point, HitResult result, int dir)
Definition: Trait.cs:739

References PointTarget.CanCycle(), card, ScreenGuide.DrawLine(), BaseGameScreen.guide, Scene.mouseTarget, Point.PositionCenter(), EClass.scene, and EClass.screen.

◆ RotateUnderMouse()

override void AM_MoveInstalled.RotateUnderMouse ( )
inline

Definition at line 390 of file AM_MoveInstalled.cs.

391 {
392 if (target != null)
393 {
394 SE.Rotate();
396 }
397 else
398 {
399 base.RotateUnderMouse();
400 }
401 }
virtual void Rotate(bool reverse=false)
Definition: Card.cs:6720

◆ SetTarget()

void AM_MoveInstalled.SetTarget ( Card  _target)
inline

Definition at line 157 of file AM_MoveInstalled.cs.

158 {
160 foreach (TaskMoveInstalled taskMoveInstalled in array)
161 {
162 if (taskMoveInstalled.target == _target)
163 {
164 taskMoveInstalled.Destroy();
165 }
166 }
167 target = (mold.target = _target);
168 if (target.isThing)
169 {
171 moldCard.placeState = PlaceState.installed;
173 }
174 else
175 {
176 moldCard = CharaGen.Create(_target.id);
178 moldCard.idSkin = target.idSkin;
179 }
180 EClass.ui.hud.hint.UpdateText();
181 }
void SetGender(int g)
Definition: Biography.cs:469
int gender
Definition: Biography.cs:29
string id
Definition: Card.cs:36
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6440
Biography bio
Definition: Card.cs:45
int idSkin
Definition: Card.cs:365
Thing Duplicate(int num)
Definition: Card.cs:3625
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
TaskManager tasks
Definition: Map.cs:37
DesignationList< TaskMoveInstalled > moveInstalled
Definition: TaskManager.cs:24
Designations designations
Definition: TaskManager.cs:62
Status Destroy()
Definition: Task.cs:31

References Card._CreateRenderer(), EClass._map, Card.bio, CharaGen.Create(), TaskManager.designations, Task.Destroy(), Card.Duplicate(), Card.idSkin, Card.isThing, moldCard, TaskManager.Designations.moveInstalled, Biography.SetGender(), target, TaskMoveInstalled.target, Map.tasks, and EClass.ui.

Referenced by Activate(), and OnProcessTiles().

◆ TopHeight()

override int AM_MoveInstalled.TopHeight ( Point  p)
inline

Definition at line 72 of file AM_MoveInstalled.cs.

73 {
74 if (target != null && moldCard != null && moldCard.altitude != 0)
75 {
76 return moldCard.altitude;
77 }
78 return 0;
79 }

References Card.altitude, moldCard, and target.

◆ TryPutAway()

bool AM_MoveInstalled.TryPutAway ( )
inline

Definition at line 205 of file AM_MoveInstalled.cs.

206 {
207 if (!CanPutAway())
208 {
209 return false;
210 }
212 {
213 SE.Beep();
214 return false;
215 }
216 SE.Click();
217 target = null;
218 EClass.ui.hud.hint.UpdateText();
219 return true;
220 }
bool PutAway(Card c)
Definition: Map.cs:2705

References EClass._map, CanPutAway(), Map.PutAway(), target, and EClass.ui.

Referenced by ActionHint.UpdateText().

Member Data Documentation

◆ moldCard

Card AM_MoveInstalled.moldCard

Definition at line 7 of file AM_MoveInstalled.cs.

Referenced by OnActivate(), OnDeactivate(), OnProcessTiles(), SetTarget(), and TopHeight().

◆ onetime

bool AM_MoveInstalled.onetime

Definition at line 9 of file AM_MoveInstalled.cs.

Referenced by Activate(), and OnActivate().

◆ target

Property Documentation

◆ AllowMiddleClickFunc

override bool AM_MoveInstalled.AllowMiddleClickFunc
get

Definition at line 49 of file AM_MoveInstalled.cs.

◆ cardIconMode

override BaseTileMap.CardIconMode AM_MoveInstalled.cardIconMode
get

Definition at line 47 of file AM_MoveInstalled.cs.

◆ CostMoney

override int AM_MoveInstalled.CostMoney
get

Definition at line 35 of file AM_MoveInstalled.cs.

36 {
37 get
38 {
39 if (target != null)
40 {
41 return 0;
42 }
43 return 0;
44 }
45 }

◆ FreePos

bool AM_MoveInstalled.FreePos
get

Definition at line 51 of file AM_MoveInstalled.cs.

Referenced by OnProcessTiles().

◆ hitH

override int AM_MoveInstalled.hitH
get

Definition at line 23 of file AM_MoveInstalled.cs.

24 {
25 get
26 {
27 if (target != null)
28 {
29 return moldCard.H;
30 }
31 return 1;
32 }
33 }
int H
Definition: Card.cs:2436

◆ hitW

override int AM_MoveInstalled.hitW
get

Definition at line 11 of file AM_MoveInstalled.cs.

12 {
13 get
14 {
15 if (target != null)
16 {
17 return moldCard.W;
18 }
19 return 1;
20 }
21 }
int W
Definition: Card.cs:2424

◆ selectType

override BaseTileSelector.SelectType AM_MoveInstalled.selectType
get

Definition at line 53 of file AM_MoveInstalled.cs.

◆ ShouldHideBuildMenu

override bool AM_MoveInstalled.ShouldHideBuildMenu
get

Definition at line 55 of file AM_MoveInstalled.cs.


The documentation for this class was generated from the following file: