Elin Decompiled Documentation EA 23.264 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 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:1155

References Player.instaComplete, and EClass.player.

◆ CanPutAway()

bool AM_MoveInstalled.CanPutAway ( )
inline

Definition at line 179 of file AM_MoveInstalled.cs.

180 {
181 if (target == null)
182 {
183 return false;
184 }
186 {
187 return true;
188 }
190 {
191 return false;
192 }
193 return true;
194 }
Trait trait
Definition: Card.cs:54
virtual bool isChara
Definition: Card.cs:2084
bool ignoreBuildRule
Definition: CoreDebug.cs:185
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 213 of file AM_MoveInstalled.cs.

214 {
216 {
217 bool flag = true;
218 foreach (Chara chara in EClass._map.charas)
219 {
220 if (chara.hostility <= Hostility.Enemy && chara.Dist(p) <= 6)
221 {
222 flag = false;
223 }
224 }
225 if (!flag)
226 {
227 if (msg)
228 {
229 SE.BeepSmall();
230 EClass.ui.Say("enemyInMap".langGame());
231 }
232 return true;
233 }
234 }
235 return false;
236 }
Hostility
Definition: Hostility.cs:2
int Dist(Card c)
Definition: Card.cs:7838
Definition: Chara.cs:10
Hostility hostility
Definition: Chara.cs:293
static Map _map
Definition: EClass.cs:19
List< Chara > charas
Definition: Map.cs:81

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 72 of file AM_MoveInstalled.cs.

73 {
75 }
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 174 of file AM_MoveInstalled.cs.

175 {
177 }
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 103 of file AM_MoveInstalled.cs.

104 {
105 if (EClass.debug.enable)
106 {
107 switch (EInput.hotkey)
108 {
109 case 0:
110 EClass._map.SetDecal(point.x, point.z);
111 break;
112 case 1:
113 EClass._map.AddDecal(point.x, point.z, 2);
114 break;
115 }
116 }
117 if (target == null)
118 {
120 {
121 return HitResult.Warning;
122 }
123 if (GetTarget(point) != null)
124 {
125 return HitResult.Valid;
126 }
127 return HitResult.Default;
128 }
129 if (target.isChara && CheckEnemyNearBy(target, point, msg: false))
130 {
131 return HitResult.Invalid;
132 }
133 moldCard.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
135 {
136 if (target.isChara && (point.IsBlocked || point.HasChara))
137 {
138 return HitResult.Invalid;
139 }
140 if (!EClass._map.bounds.Contains(point))
141 {
142 return HitResult.Invalid;
143 }
144 }
145 return base.HitTest(point, start);
146 }
Card GetTarget(Point point)
bool CheckEnemyNearBy(Card t, Point p, bool msg=true)
bool enable
Definition: CoreDebug.cs:286
Definition: EInput.cs:8
static int hotkey
Definition: EInput.cs:283
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:2051
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2029
MapBounds bounds
Definition: Map.cs:52
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 394 of file AM_MoveInstalled.cs.

395 {
397 {
398 if (target != null && target.TileType.MaxAltitude > 0)
399 {
401 }
402 else if (EClass.scene.mouseTarget.CanCycle())
403 {
405 }
406 else
407 {
408 base.InputWheel(wheel);
409 }
410 }
411 }
void ChangeAltitude(int a)
Definition: Card.cs:6424
TileType TileType
Definition: Card.cs:2138
static bool isCtrlDown
Definition: EInput.cs:263
void CycleTarget(int a)
Definition: PointTarget.cs:204
virtual int MaxAltitude
Definition: TileType.cs:210

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 85 of file AM_MoveInstalled.cs.

86 {
87 onetime = false;
88 list = base.Designations.moveInstalled;
89 target = (moldCard = null);
90 base.OnActivate();
91 }

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

◆ OnCancel()

override void AM_MoveInstalled.OnCancel ( )
inline

Definition at line 413 of file AM_MoveInstalled.cs.

414 {
415 if (target != null)
416 {
417 target = null;
418 if (onetime)
419 {
420 base.OnCancel();
421 }
422 }
423 else
424 {
425 base.OnCancel();
426 }
427 }

◆ OnCreateMold()

override void AM_MoveInstalled.OnCreateMold ( bool  processing)
inlinevirtual

Reimplemented from AM_Designation< TaskMoveInstalled >.

Definition at line 98 of file AM_MoveInstalled.cs.

99 {
100 mold.target = target;
101 }

References target.

◆ OnDeactivate()

override void AM_MoveInstalled.OnDeactivate ( )
inline

Definition at line 93 of file AM_MoveInstalled.cs.

94 {
95 target = (moldCard = (mold.target = null));
96 }

References moldCard, and target.

◆ OnFinishProcessTiles()

override void AM_MoveInstalled.OnFinishProcessTiles ( )
inline

Definition at line 429 of file AM_MoveInstalled.cs.

430 {
431 if (onetime)
432 {
433 Deactivate();
434 }
435 }

◆ OnProcessTiles()

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

Definition at line 238 of file AM_MoveInstalled.cs.

239 {
240 if (target == null)
241 {
242 Card t = GetTarget(point);
243 if (CheckEnemyNearBy(t, t.pos))
244 {
245 return;
246 }
248 {
249 ActPlan actPlan = new ActPlan
250 {
251 pos = point.Copy(),
252 ignoreAddCondition = true,
253 input = ActInput.AllAction,
254 altAction = true
255 };
256 t.trait.TrySetAct(actPlan);
257 if (actPlan.list.Count > 0)
258 {
259 UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
260 uIContextMenu.AddButton("move", delegate
261 {
262 SetTarget(t);
263 SE.Click();
264 });
265 foreach (ActPlan.Item i in actPlan.list)
266 {
267 uIContextMenu.AddButton(i.GetTextContext(showName: false), delegate
268 {
269 i.act.Perform();
270 });
271 }
272 uIContextMenu.Show();
273 return;
274 }
275 }
276 SetTarget(t);
277 SE.Click();
278 }
279 else
280 {
281 if (CheckEnemyNearBy(target, point))
282 {
283 return;
284 }
285 mold.dir = moldCard.dir;
286 mold.altitude = moldCard.altitude;
287 if (target.isChara)
288 {
289 target.Chara.orgPos?.Set(point);
290 }
291 base.OnProcessTiles(point, dir);
292 target.ignoreStackHeight = moldCard.ignoreStackHeight;
293 target.freePos = moldCard.freePos;
294 target.fx = (FreePos ? moldCard.fx : 0f);
295 target.fy = (FreePos ? moldCard.fy : 0f);
296 if (target.isChara && (bool)EClass.debug)
297 {
298 foreach (Thing thing in point.Things)
299 {
300 if (thing.trait is TraitShackle traitShackle)
301 {
302 traitShackle.Restrain(target.Chara);
303 }
304 }
305 }
306 if (target.isThing)
307 {
308 bool isRoofItem = target.isRoofItem;
309 target.isRoofItem = IsRoofEditMode();
310 if (target.isRoofItem)
311 {
313 }
314 else if (isRoofItem)
315 {
317 }
318 if (!target.isRoofItem)
319 {
320 target.ForeachPoint(delegate(Point p, bool center)
321 {
322 if (p.IsBlocked && p.HasChara)
323 {
324 foreach (Chara item in p.ListCharas())
325 {
326 EClass.pc.Kick(item, ignoreSelf: true, karmaLoss: false, show: false);
327 }
328 }
329 });
330 }
331 }
332 SE.Click();
334 {
336 }
337 target = null;
338 }
339 }
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:2082
virtual Chara Chara
Definition: Card.cs:2071
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3772
bool isRoofItem
Definition: Card.cs:579
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:8003
Point pos
Definition: Card.cs:60
int altitude
Definition: Card.cs:231
int dir
Definition: Card.cs:147
bool freePos
Definition: Card.cs:519
CardRenderer renderer
Definition: Card.cs:62
bool ignoreStackHeight
Definition: Card.cs:639
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:1056
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 341 of file AM_MoveInstalled.cs.

342 {
343 if (target == null)
344 {
345 Card card = GetTarget(point);
346 if (card != null && card.isThing)
347 {
348 card.Thing.RenderMarker(point, active: true, result, main: true, -1, useCurrentPosition: true);
349 }
350 base.OnRenderTile(point, (result != HitResult.Valid) ? result : (EClass.scene.mouseTarget.CanCycle() ? HitResult.Warning : HitResult.Default), dir);
351 return;
352 }
353 if (moldCard == null)
354 {
355 base.OnRenderTile(point, result, dir);
356 return;
357 }
358 moldCard.SetFreePos(point);
359 if (result != HitResult.Valid && result != HitResult.Warning)
360 {
361 base.OnRenderTile(point, result, dir);
362 }
363 else
364 {
365 int desiredDir = target.TileType.GetDesiredDir(point, moldCard.dir);
366 if (desiredDir != -1)
367 {
368 int num2 = (moldCard.dir = desiredDir);
369 dir = num2;
370 }
371 bool flag = !base.tileSelector.multisize || (base.tileSelector.firstInMulti && base.Summary.count == base.Summary.countValid);
372 moldCard.RenderMarker(point, active: false, result, flag, -1);
373 if (flag)
374 {
375 target.trait.OnRenderTile(point, result, dir);
376 }
377 }
379 }
void RenderMarker(Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
Definition: Card.cs:6466
void SetFreePos(Point point)
Definition: Card.cs:6442
ref Vector3 PositionCenter()
Definition: Point.cs:587
void DrawLine(Vector3 from, Vector3 to)
Definition: ScreenGuide.cs:17
virtual int GetDesiredDir(Point p, int d)
Definition: TileType.cs:382
virtual void OnRenderTile(Point point, HitResult result, int dir)
Definition: Trait.cs:727

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 381 of file AM_MoveInstalled.cs.

382 {
383 if (target != null)
384 {
385 SE.Rotate();
387 }
388 else
389 {
390 base.RotateUnderMouse();
391 }
392 }
virtual void Rotate(bool reverse=false)
Definition: Card.cs:6389

◆ SetTarget()

void AM_MoveInstalled.SetTarget ( Card  _target)
inline

Definition at line 148 of file AM_MoveInstalled.cs.

149 {
151 foreach (TaskMoveInstalled taskMoveInstalled in array)
152 {
153 if (taskMoveInstalled.target == _target)
154 {
155 taskMoveInstalled.Destroy();
156 }
157 }
158 target = (mold.target = _target);
159 if (target.isThing)
160 {
162 moldCard.placeState = PlaceState.installed;
164 }
165 else
166 {
167 moldCard = CharaGen.Create(_target.id);
169 moldCard.idSkin = target.idSkin;
170 }
171 EClass.ui.hud.hint.UpdateText();
172 }
void SetGender(int g)
Definition: Biography.cs:473
int gender
Definition: Biography.cs:29
string id
Definition: Card.cs:36
virtual CardRenderer _CreateRenderer()
Definition: Card.cs:6114
Biography bio
Definition: Card.cs:45
int idSkin
Definition: Card.cs:363
Thing Duplicate(int num)
Definition: Card.cs:3469
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
TaskManager tasks
Definition: Map.cs:34
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().

◆ TryPutAway()

bool AM_MoveInstalled.TryPutAway ( )
inline

Definition at line 196 of file AM_MoveInstalled.cs.

197 {
198 if (!CanPutAway())
199 {
200 return false;
201 }
203 {
204 SE.Beep();
205 return false;
206 }
207 SE.Click();
208 target = null;
209 EClass.ui.hud.hint.UpdateText();
210 return true;
211 }
bool PutAway(Card c)
Definition: Map.cs:2532

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(), and SetTarget().

◆ 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:2369

◆ 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:2357

◆ 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: