Elin Decompiled Documentation EA 23.102 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:12
bool instaComplete
Definition: Player.cs:956

References Player.instaComplete, and EClass.player.

◆ CanPutAway()

bool AM_MoveInstalled.CanPutAway ( )
inline

Definition at line 178 of file AM_MoveInstalled.cs.

179 {
181 {
182 return true;
183 }
184 if (target == null || target.isChara || target.trait.CanOnlyCarry)
185 {
186 return false;
187 }
188 return true;
189 }
Trait trait
Definition: Card.cs:49
virtual bool isChara
Definition: Card.cs:1959
bool ignoreBuildRule
Definition: CoreDebug.cs:184
static CoreDebug debug
Definition: EClass.cs:48
virtual bool CanOnlyCarry
Definition: Trait.cs:283

References Trait.CanOnlyCarry, 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 208 of file AM_MoveInstalled.cs.

209 {
211 {
212 bool flag = true;
213 foreach (Chara chara in EClass._map.charas)
214 {
215 if (chara.hostility <= Hostility.Enemy && chara.Dist(p) <= 6)
216 {
217 flag = false;
218 }
219 }
220 if (!flag)
221 {
222 if (msg)
223 {
224 SE.BeepSmall();
225 EClass.ui.Say("enemyInMap".langGame());
226 }
227 return true;
228 }
229 }
230 return false;
231 }
Hostility
Definition: Hostility.cs:2
int Dist(Card c)
Definition: Card.cs:6777
Definition: Chara.cs:10
Hostility hostility
Definition: Chara.cs:276
static Map _map
Definition: EClass.cs:18
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:32
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 173 of file AM_MoveInstalled.cs.

174 {
176 }
static Scene scene
Definition: EClass.cs:30
PointTarget mouseTarget
Definition: Scene.cs:129

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:285
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:2029
void AddDecal(int x, int z, int id, int amount=1, bool refresh=true)
Definition: Map.cs:2007
MapBounds bounds
Definition: Map.cs:52
bool CanCycle()
Definition: PointTarget.cs:215
bool IsBlocked
Definition: Point.cs:339
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
bool HasChara
Definition: Point.cs:226

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

385 {
387 {
388 if (target != null && target.TileType.MaxAltitude > 0)
389 {
391 }
392 else if (EClass.scene.mouseTarget.CanCycle())
393 {
395 }
396 else
397 {
398 base.InputWheel(wheel);
399 }
400 }
401 }
void ChangeAltitude(int a)
Definition: Card.cs:5510
TileType TileType
Definition: Card.cs:2011
static bool isCtrlDown
Definition: EInput.cs:263
static bool isAltDown
Definition: EInput.cs:265
void CycleTarget(int a)
Definition: PointTarget.cs:204
virtual int MaxAltitude
Definition: TileType.cs:203

References PointTarget.CanCycle(), PointTarget.CycleTarget(), EInput.isAltDown, 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 403 of file AM_MoveInstalled.cs.

404 {
405 if (target != null)
406 {
407 target = null;
408 if (onetime)
409 {
410 base.OnCancel();
411 }
412 }
413 else
414 {
415 base.OnCancel();
416 }
417 }

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

420 {
421 if (onetime)
422 {
423 Deactivate();
424 }
425 }

◆ OnProcessTiles()

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

Definition at line 233 of file AM_MoveInstalled.cs.

234 {
235 if (target == null)
236 {
237 Card t = GetTarget(point);
238 if (CheckEnemyNearBy(t, t.pos))
239 {
240 return;
241 }
243 {
244 ActPlan actPlan = new ActPlan
245 {
246 pos = point.Copy(),
247 ignoreAddCondition = true,
248 input = ActInput.AllAction,
249 altAction = true
250 };
251 t.trait.TrySetAct(actPlan);
252 if (actPlan.list.Count > 0)
253 {
254 UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
255 uIContextMenu.AddButton("move", delegate
256 {
257 SetTarget(t);
258 SE.Click();
259 });
260 foreach (ActPlan.Item i in actPlan.list)
261 {
262 uIContextMenu.AddButton(i.GetTextContext(showName: false), delegate
263 {
264 i.act.Perform();
265 });
266 }
267 uIContextMenu.Show();
268 return;
269 }
270 }
271 SetTarget(t);
272 SE.Click();
273 }
274 else
275 {
276 if (CheckEnemyNearBy(target, point))
277 {
278 return;
279 }
280 mold.dir = moldCard.dir;
281 mold.altitude = moldCard.altitude;
282 if (target.isChara)
283 {
284 target.Chara.orgPos?.Set(point);
285 }
286 base.OnProcessTiles(point, dir);
287 target.ignoreStackHeight = moldCard.ignoreStackHeight;
288 target.freePos = moldCard.freePos;
289 target.fx = (FreePos ? moldCard.fx : 0f);
290 target.fy = (FreePos ? moldCard.fy : 0f);
291 if (target.isChara && (bool)EClass.debug)
292 {
293 foreach (Thing thing in point.Things)
294 {
295 if (thing.trait is TraitShackle traitShackle)
296 {
297 traitShackle.Restrain(target.Chara);
298 }
299 }
300 }
301 if (target.isThing)
302 {
303 target.isRoofItem = IsRoofEditMode();
304 if (target.isRoofItem)
305 {
307 }
308 if (!target.isRoofItem)
309 {
310 target.ForeachPoint(delegate(Point p, bool center)
311 {
312 if (p.IsBlocked && p.HasChara)
313 {
314 foreach (Chara item in p.ListCharas())
315 {
316 EClass.pc.Kick(item, ignoreSelf: true, karmaLoss: false, show: false);
317 }
318 }
319 });
320 }
321 }
322 SE.Click();
324 {
326 }
327 target = null;
328 }
329 }
ActInput
Definition: ActInput.cs:2
PlaceState
Definition: PlaceState.cs:2
override bool IsRoofEditMode(Card c=null)
List list
Definition: ActPlan.cs:163
void RefreshSprite()
Definition: Card.cs:11
virtual bool isThing
Definition: Card.cs:1957
virtual Chara Chara
Definition: Card.cs:1946
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3454
bool isRoofItem
Definition: Card.cs:550
void ForeachPoint(Action< Point, bool > action)
Definition: Card.cs:6942
Point pos
Definition: Card.cs:55
int altitude
Definition: Card.cs:214
int dir
Definition: Card.cs:142
bool freePos
Definition: Card.cs:490
CardRenderer renderer
Definition: Card.cs:57
bool ignoreStackHeight
Definition: Card.cs:610
Point orgPos
Definition: Chara.cs:21
Definition: Point.cs:9
Point Copy()
Definition: Point.cs:467
Point Set(int _x, int _z)
Definition: Point.cs:479
List< Thing > Things
Definition: Point.cs:314
Definition: Thing.cs:8
virtual void TrySetAct(ActPlan p)
Definition: Trait.cs:984
virtual bool ShowContextOnPick
Definition: Trait.cs:171
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 331 of file AM_MoveInstalled.cs.

332 {
333 if (target == null)
334 {
335 Card card = GetTarget(point);
336 if (card != null && card.isThing)
337 {
338 card.Thing.RenderMarker(point, active: true, result, main: true, -1, useCurrentPosition: true);
339 }
340 base.OnRenderTile(point, (result != HitResult.Valid) ? result : (EClass.scene.mouseTarget.CanCycle() ? HitResult.Warning : HitResult.Default), dir);
341 return;
342 }
343 if (moldCard == null)
344 {
345 base.OnRenderTile(point, result, dir);
346 return;
347 }
348 moldCard.SetFreePos(point);
349 if (result != HitResult.Valid && result != HitResult.Warning)
350 {
351 base.OnRenderTile(point, result, dir);
352 }
353 else
354 {
355 int desiredDir = target.TileType.GetDesiredDir(point, moldCard.dir);
356 if (desiredDir != -1)
357 {
358 int num2 = (moldCard.dir = desiredDir);
359 dir = num2;
360 }
361 bool flag = !base.tileSelector.multisize || (base.tileSelector.firstInMulti && base.Summary.count == base.Summary.countValid);
362 moldCard.RenderMarker(point, active: false, result, flag, -1);
363 if (flag)
364 {
365 target.trait.OnRenderTile(point, result, dir);
366 }
367 }
369 }
void RenderMarker(Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
Definition: Card.cs:5552
void SetFreePos(Point point)
Definition: Card.cs:5528
ref Vector3 PositionCenter()
Definition: Point.cs:563
void DrawLine(Vector3 from, Vector3 to)
Definition: ScreenGuide.cs:17
virtual int GetDesiredDir(Point p, int d)
Definition: TileType.cs:362
virtual void OnRenderTile(Point point, HitResult result, int dir)
Definition: Trait.cs:655

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

372 {
373 if (target != null)
374 {
375 SE.Rotate();
377 }
378 else
379 {
380 base.RotateUnderMouse();
381 }
382 }
virtual void Rotate(bool reverse=false)
Definition: Card.cs:5479

◆ 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;
163 }
164 else
165 {
166 moldCard = CharaGen.Create(_target.id);
168 moldCard.idSkin = target.idSkin;
169 }
170 EClass.ui.hud.hint.UpdateText();
171 }
void SetGender(int g)
Definition: Biography.cs:450
int gender
Definition: Biography.cs:29
string id
Definition: Card.cs:31
Biography bio
Definition: Card.cs:40
int idSkin
Definition: Card.cs:346
Thing Duplicate(int num)
Definition: Card.cs:3191
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 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 191 of file AM_MoveInstalled.cs.

192 {
193 if (!CanPutAway())
194 {
195 return false;
196 }
198 {
199 SE.Beep();
200 return false;
201 }
202 SE.Click();
203 target = null;
204 EClass.ui.hud.hint.UpdateText();
205 return true;
206 }
bool PutAway(Card c)
Definition: Map.cs:2510

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

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

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