Elin Modding Docs Doc
Loading...
Searching...
No Matches
ActionMode.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using UnityEngine;
5
6// Token: 0x02000137 RID: 311
7public class ActionMode : EClass
8{
9 // Token: 0x170001CB RID: 459
10 // (get) Token: 0x06000844 RID: 2116 RVA: 0x000366C3 File Offset: 0x000348C3
11 public static AM_Adv AdvOrRegion
12 {
13 get
14 {
15 if (!EClass._zone.IsRegion)
16 {
17 return ActionMode.Adv;
18 }
19 return ActionMode.Region;
20 }
21 }
22
23 // Token: 0x170001CC RID: 460
24 // (get) Token: 0x06000845 RID: 2117 RVA: 0x000366DC File Offset: 0x000348DC
25 public static bool IsAdv
26 {
27 get
28 {
29 return ActionMode.DefaultMode is AM_Adv;
30 }
31 }
32
33 // Token: 0x06000846 RID: 2118 RVA: 0x000366EC File Offset: 0x000348EC
34 public static void OnGameInstantiated()
35 {
36 ActionMode.LastBuildMode = null;
37 ActionMode.Sim = new AM_Sim();
38 ActionMode.View = new AM_ViewZone();
39 ActionMode.Adv = new AM_Adv();
40 ActionMode.AdvTarget = new AM_ADV_Target();
41 ActionMode.Region = new AM_Region();
42 ActionMode.NoMap = new AM_NoMap();
43 ActionMode.MiniGame = new AM_MiniGame();
44 ActionMode.EloMap = new AM_EloMap();
45 ActionMode.NewZone = new AM_NewZone();
46 ActionMode.Select = new AM_Select();
47 ActionMode.Inspect = new AM_Inspect();
48 ActionMode.Bird = new AM_Bird();
49 ActionMode.DefaultMode = ActionMode.Adv;
50 ActionMode.Mine = new AM_Mine();
51 ActionMode.Dig = new AM_Dig();
52 ActionMode.Harvest = new AM_Harvest();
53 ActionMode.Cut = new AM_Cut();
54 ActionMode.Copy = new AM_Copy();
55 ActionMode.Blueprint = new AM_Blueprint();
56 ActionMode.Build = new AM_Build();
57 ActionMode.Picker = new AM_Picker();
58 ActionMode.StateEditor = new AM_StateEditor();
59 ActionMode.CreateArea = new AM_CreateArea();
60 ActionMode.EditArea = new AM_EditArea();
61 ActionMode.ExpandArea = new AM_ExpandArea();
62 ActionMode.RemoveDesignation = new AM_RemoveDesignation();
63 ActionMode.Deconstruct = new AM_Deconstruct();
64 ActionMode.ViewMap = new AM_ViewMap();
65 ActionMode.Terrain = new AM_Terrain();
66 ActionMode.Populate = new AM_Populate();
67 ActionMode.EditMarker = new AM_EditMarker();
68 ActionMode.Visibility = new AM_Visibility();
69 ActionMode.Cinema = new AM_Cinema();
70 ActionMode.FlagCell = new AM_FlagCell();
71 ActionMode.Paint = new AM_Paint();
72 }
73
74 // Token: 0x170001CD RID: 461
75 // (get) Token: 0x06000847 RID: 2119 RVA: 0x0003685D File Offset: 0x00034A5D
76 public virtual float gameSpeed
77 {
78 get
79 {
80 return 1f;
81 }
82 }
83
84 // Token: 0x170001CE RID: 462
85 // (get) Token: 0x06000848 RID: 2120 RVA: 0x00036864 File Offset: 0x00034A64
86 public bool IsActive
87 {
88 get
89 {
90 return EClass.scene.actionMode == this;
91 }
92 }
93
94 // Token: 0x170001CF RID: 463
95 // (get) Token: 0x06000849 RID: 2121 RVA: 0x00036873 File Offset: 0x00034A73
96 public virtual BaseTileSelector.HitType hitType
97 {
98 get
99 {
100 return BaseTileSelector.HitType.Floor;
101 }
102 }
103
104 // Token: 0x170001D0 RID: 464
105 // (get) Token: 0x0600084A RID: 2122 RVA: 0x00036876 File Offset: 0x00034A76
106 public virtual BaseTileSelector.SelectType selectType
107 {
108 get
109 {
110 return BaseTileSelector.SelectType.Multiple;
111 }
112 }
113
114 // Token: 0x170001D1 RID: 465
115 // (get) Token: 0x0600084B RID: 2123 RVA: 0x00036879 File Offset: 0x00034A79
116 public virtual BaseTileSelector.BoxType boxType
117 {
118 get
119 {
120 return BaseTileSelector.BoxType.Box;
121 }
122 }
123
124 // Token: 0x170001D2 RID: 466
125 // (get) Token: 0x0600084C RID: 2124 RVA: 0x0003687C File Offset: 0x00034A7C
126 public virtual bool ContinuousClick
127 {
128 get
129 {
130 return false;
131 }
132 }
133
134 // Token: 0x170001D3 RID: 467
135 // (get) Token: 0x0600084D RID: 2125 RVA: 0x0003687F File Offset: 0x00034A7F
136 public virtual int hitW
137 {
138 get
139 {
140 return 1;
141 }
142 }
143
144 // Token: 0x170001D4 RID: 468
145 // (get) Token: 0x0600084E RID: 2126 RVA: 0x00036882 File Offset: 0x00034A82
146 public virtual int hitH
147 {
148 get
149 {
150 return 1;
151 }
152 }
153
154 // Token: 0x170001D5 RID: 469
155 // (get) Token: 0x0600084F RID: 2127 RVA: 0x00036885 File Offset: 0x00034A85
156 public HitSummary Summary
157 {
158 get
159 {
160 return this.tileSelector.summary;
161 }
162 }
163
164 // Token: 0x170001D6 RID: 470
165 // (get) Token: 0x06000850 RID: 2128 RVA: 0x00036892 File Offset: 0x00034A92
166 public bool Multisize
167 {
168 get
169 {
170 return this.hitW != 1 || this.hitW != 1;
171 }
172 }
173
174 // Token: 0x170001D7 RID: 471
175 // (get) Token: 0x06000851 RID: 2129 RVA: 0x000368AB File Offset: 0x00034AAB
176 public virtual string id
177 {
178 get
179 {
180 return base.GetType().Name.Split('_', StringSplitOptions.None)[1];
181 }
182 }
183
184 // Token: 0x170001D8 RID: 472
185 // (get) Token: 0x06000852 RID: 2130 RVA: 0x000368C2 File Offset: 0x00034AC2
186 public virtual CursorInfo DefaultCursor
187 {
188 get
189 {
190 return null;
191 }
192 }
193
194 // Token: 0x170001D9 RID: 473
195 // (get) Token: 0x06000853 RID: 2131 RVA: 0x000368C5 File Offset: 0x00034AC5
196 public virtual string idHelpTopic
197 {
198 get
199 {
200 return "4";
201 }
202 }
203
204 // Token: 0x170001DA RID: 474
205 // (get) Token: 0x06000854 RID: 2132 RVA: 0x000368CC File Offset: 0x00034ACC
206 public virtual string idSound
207 {
208 get
209 {
210 return null;
211 }
212 }
213
214 // Token: 0x170001DB RID: 475
215 // (get) Token: 0x06000855 RID: 2133 RVA: 0x000368CF File Offset: 0x00034ACF
216 public virtual bool enableMouseInfo
217 {
218 get
219 {
220 return false;
221 }
222 }
223
224 // Token: 0x170001DC RID: 476
225 // (get) Token: 0x06000856 RID: 2134 RVA: 0x000368D2 File Offset: 0x00034AD2
226 public virtual bool hideBalloon
227 {
228 get
229 {
230 return false;
231 }
232 }
233
234 // Token: 0x170001DD RID: 477
235 // (get) Token: 0x06000857 RID: 2135 RVA: 0x000368D5 File Offset: 0x00034AD5
236 public virtual string textHintTitle
237 {
238 get
239 {
240 return null;
241 }
242 }
243
244 // Token: 0x170001DE RID: 478
245 // (get) Token: 0x06000858 RID: 2136 RVA: 0x000368D8 File Offset: 0x00034AD8
246 public virtual bool AllowAutoClick
247 {
248 get
249 {
250 return false;
251 }
252 }
253
254 // Token: 0x170001DF RID: 479
255 // (get) Token: 0x06000859 RID: 2137 RVA: 0x000368DB File Offset: 0x00034ADB
256 public virtual bool ShowActionHint
257 {
258 get
259 {
260 return true;
261 }
262 }
263
264 // Token: 0x170001E0 RID: 480
265 // (get) Token: 0x0600085A RID: 2138 RVA: 0x000368DE File Offset: 0x00034ADE
266 public virtual bool ShowMouseoverTarget
267 {
268 get
269 {
270 return true;
271 }
272 }
273
274 // Token: 0x170001E1 RID: 481
275 // (get) Token: 0x0600085B RID: 2139 RVA: 0x000368E1 File Offset: 0x00034AE1
276 public virtual AreaHighlightMode AreaHihlight
277 {
278 get
279 {
280 return AreaHighlightMode.None;
281 }
282 }
283
284 // Token: 0x170001E2 RID: 482
285 // (get) Token: 0x0600085C RID: 2140 RVA: 0x000368E4 File Offset: 0x00034AE4
286 public virtual bool CanSelectTile
287 {
288 get
289 {
290 return false;
291 }
292 }
293
294 // Token: 0x170001E3 RID: 483
295 // (get) Token: 0x0600085D RID: 2141 RVA: 0x000368E7 File Offset: 0x00034AE7
296 public virtual bool CanTargetOutsideBounds
297 {
298 get
299 {
300 return true;
301 }
302 }
303
304 // Token: 0x170001E4 RID: 484
305 // (get) Token: 0x0600085E RID: 2142 RVA: 0x000368EA File Offset: 0x00034AEA
306 public virtual bool ShouldPauseGame
307 {
308 get
309 {
310 return true;
311 }
312 }
313
314 // Token: 0x170001E5 RID: 485
315 // (get) Token: 0x0600085F RID: 2143 RVA: 0x000368ED File Offset: 0x00034AED
316 public virtual bool FixFocus
317 {
318 get
319 {
320 return false;
321 }
322 }
323
324 // Token: 0x170001E6 RID: 486
325 // (get) Token: 0x06000860 RID: 2144 RVA: 0x000368F0 File Offset: 0x00034AF0
326 public virtual bool HideSubWidgets
327 {
328 get
329 {
330 return true;
331 }
332 }
333
334 // Token: 0x170001E7 RID: 487
335 // (get) Token: 0x06000861 RID: 2145 RVA: 0x000368F3 File Offset: 0x00034AF3
336 public virtual bool IsBuildMode
337 {
338 get
339 {
340 return false;
341 }
342 }
343
344 // Token: 0x170001E8 RID: 488
345 // (get) Token: 0x06000862 RID: 2146 RVA: 0x000368F6 File Offset: 0x00034AF6
346 public virtual bool ShowBuildWidgets
347 {
348 get
349 {
350 return this.IsBuildMode;
351 }
352 }
353
354 // Token: 0x170001E9 RID: 489
355 // (get) Token: 0x06000863 RID: 2147 RVA: 0x000368FE File Offset: 0x00034AFE
356 public virtual BuildMenu.Mode buildMenuMode
357 {
358 get
359 {
360 if (!this.IsBuildMode)
361 {
362 return BuildMenu.Mode.None;
363 }
364 return BuildMenu.Mode.Hide;
365 }
366 }
367
368 // Token: 0x170001EA RID: 490
369 // (get) Token: 0x06000864 RID: 2148 RVA: 0x0003690B File Offset: 0x00034B0B
370 public virtual bool ShouldHideBuildMenu
371 {
372 get
373 {
374 return this.IsBuildMode && this.tileSelector.start != null;
375 }
376 }
377
378 // Token: 0x170001EB RID: 491
379 // (get) Token: 0x06000865 RID: 2149 RVA: 0x00036925 File Offset: 0x00034B25
380 public virtual bool CanTargetFog
381 {
382 get
383 {
384 return false;
385 }
386 }
387
388 // Token: 0x170001EC RID: 492
389 // (get) Token: 0x06000866 RID: 2150 RVA: 0x00036928 File Offset: 0x00034B28
390 public virtual int CostMoney
391 {
392 get
393 {
394 return 0;
395 }
396 }
397
398 // Token: 0x170001ED RID: 493
399 // (get) Token: 0x06000867 RID: 2151 RVA: 0x0003692B File Offset: 0x00034B2B
400 public virtual bool AllowBuildModeShortcuts
401 {
402 get
403 {
404 return this.IsBuildMode;
405 }
406 }
407
408 // Token: 0x170001EE RID: 494
409 // (get) Token: 0x06000868 RID: 2152 RVA: 0x00036933 File Offset: 0x00034B33
410 public virtual bool AllowMiddleClickFunc
411 {
412 get
413 {
414 return false;
415 }
416 }
417
418 // Token: 0x170001EF RID: 495
419 // (get) Token: 0x06000869 RID: 2153 RVA: 0x00036936 File Offset: 0x00034B36
420 public virtual bool AllowHotbar
421 {
422 get
423 {
424 return true;
425 }
426 }
427
428 // Token: 0x170001F0 RID: 496
429 // (get) Token: 0x0600086A RID: 2154 RVA: 0x00036939 File Offset: 0x00034B39
430 public virtual bool AllowGeneralInput
431 {
432 get
433 {
434 return true;
435 }
436 }
437
438 // Token: 0x170001F1 RID: 497
439 // (get) Token: 0x0600086B RID: 2155 RVA: 0x0003693C File Offset: 0x00034B3C
440 public virtual bool ShowMaskedThings
441 {
442 get
443 {
444 return false;
445 }
446 }
447
448 // Token: 0x170001F2 RID: 498
449 // (get) Token: 0x0600086C RID: 2156 RVA: 0x0003693F File Offset: 0x00034B3F
450 public virtual int SelectorHeight
451 {
452 get
453 {
454 return -1;
455 }
456 }
457
458 // Token: 0x170001F3 RID: 499
459 // (get) Token: 0x0600086D RID: 2157 RVA: 0x00036942 File Offset: 0x00034B42
460 public virtual bool AllowWheelZoom
461 {
462 get
463 {
464 return true;
465 }
466 }
467
468 // Token: 0x0600086E RID: 2158 RVA: 0x00036945 File Offset: 0x00034B45
469 public virtual int TopHeight(Point p)
470 {
471 return -1;
472 }
473
474 // Token: 0x170001F4 RID: 500
475 // (get) Token: 0x0600086F RID: 2159 RVA: 0x00036948 File Offset: 0x00034B48
476 public virtual float TargetZoom
477 {
478 get
479 {
480 return 1f;
481 }
482 }
483
484 // Token: 0x170001F5 RID: 501
485 // (get) Token: 0x06000870 RID: 2160 RVA: 0x0003694F File Offset: 0x00034B4F
486 public virtual BaseTileMap.CardIconMode cardIconMode
487 {
488 get
489 {
490 return BaseTileMap.CardIconMode.None;
491 }
492 }
493
494 // Token: 0x170001F6 RID: 502
495 // (get) Token: 0x06000871 RID: 2161 RVA: 0x00036952 File Offset: 0x00034B52
496 public virtual BaseGameScreen TargetGameScreen
497 {
498 get
499 {
500 return null;
501 }
502 }
503
504 // Token: 0x170001F7 RID: 503
505 // (get) Token: 0x06000872 RID: 2162 RVA: 0x00036955 File Offset: 0x00034B55
506 public virtual bool IsNoMap
507 {
508 get
509 {
510 return false;
511 }
512 }
513
514 // Token: 0x06000873 RID: 2163 RVA: 0x00036958 File Offset: 0x00034B58
515 public virtual void SEExecuteSummary()
516 {
517 SE.Play("plan");
518 }
519
520 // Token: 0x170001F8 RID: 504
521 // (get) Token: 0x06000874 RID: 2164 RVA: 0x00036964 File Offset: 0x00034B64
522 public virtual bool UseSubMenu
523 {
524 get
525 {
526 return false;
527 }
528 }
529
530 // Token: 0x170001F9 RID: 505
531 // (get) Token: 0x06000875 RID: 2165 RVA: 0x00036967 File Offset: 0x00034B67
532 public virtual bool UseSubMenuSlider
533 {
534 get
535 {
536 return false;
537 }
538 }
539
540 // Token: 0x170001FA RID: 506
541 // (get) Token: 0x06000876 RID: 2166 RVA: 0x0003696A File Offset: 0x00034B6A
542 public virtual bool SubMenuAsGroup
543 {
544 get
545 {
546 return false;
547 }
548 }
549
550 // Token: 0x06000877 RID: 2167 RVA: 0x0003696D File Offset: 0x00034B6D
551 public virtual bool HighlightWall(Point p)
552 {
553 return false;
554 }
555
556 // Token: 0x170001FB RID: 507
557 // (get) Token: 0x06000878 RID: 2168 RVA: 0x00036970 File Offset: 0x00034B70
558 public virtual int SubMenuModeIndex
559 {
560 get
561 {
562 return 0;
563 }
564 }
565
566 // Token: 0x06000879 RID: 2169 RVA: 0x00036973 File Offset: 0x00034B73
567 public virtual void OnClickSubMenu(int a)
568 {
569 }
570
571 // Token: 0x0600087A RID: 2170 RVA: 0x00036975 File Offset: 0x00034B75
572 public virtual string OnSetSubMenuButton(int a, UIButton b)
573 {
574 return null;
575 }
576
577 // Token: 0x0600087B RID: 2171 RVA: 0x00036978 File Offset: 0x00034B78
578 public virtual bool IsRoofEditMode(Card c = null)
579 {
580 return false;
581 }
582
583 // Token: 0x0600087C RID: 2172 RVA: 0x0003697B File Offset: 0x00034B7B
584 public virtual bool IsFillMode()
585 {
586 return false;
587 }
588
589 // Token: 0x0600087D RID: 2173 RVA: 0x0003697E File Offset: 0x00034B7E
590 public virtual int GetDefaultTile(Point p)
591 {
592 return 0;
593 }
594
595 // Token: 0x170001FC RID: 508
596 // (get) Token: 0x0600087E RID: 2174 RVA: 0x00036981 File Offset: 0x00034B81
597 public virtual bool ShowExtraHint
598 {
599 get
600 {
601 return Lang.GetList("exhint_" + base.GetType().Name) != null;
602 }
603 }
604
605 // Token: 0x0600087F RID: 2175 RVA: 0x000369A0 File Offset: 0x00034BA0
606 public virtual void OnShowExtraHint(UINote n)
607 {
608 string[] list = Lang.GetList("exhint_" + base.GetType().Name);
609 if (list == null)
610 {
611 return;
612 }
613 foreach (string text in list)
614 {
615 n.AddText("NoteText_extrahint", text, Color.white);
616 }
617 }
618
619 // Token: 0x170001FD RID: 509
620 // (get) Token: 0x06000880 RID: 2176 RVA: 0x000369F2 File Offset: 0x00034BF2
621 public BaseTileSelector tileSelector
622 {
623 get
624 {
625 return EClass.screen.tileSelector;
626 }
627 }
628
629 // Token: 0x06000881 RID: 2177 RVA: 0x00036A00 File Offset: 0x00034C00
630 public void Activate(bool toggle = true, bool forceActivate = false)
631 {
632 if (this.TargetGameScreen != null)
633 {
634 this.TargetGameScreen.Activate();
635 }
636 if (EClass.scene.actionMode == this && !forceActivate)
637 {
638 if (toggle && EClass.scene.actionMode != ActionMode.DefaultMode)
639 {
640 ActionMode.DefaultMode.Activate(true, false);
641 }
642 return;
643 }
644 if (ActionMode.ignoreSound)
645 {
646 ActionMode.ignoreSound = false;
647 }
648 else
649 {
650 EClass.Sound.Play(this.idSound);
651 }
652 EInput.Consume(0);
653 ActionMode actionMode = EClass.scene.actionMode;
654 EClass.scene.actionMode = this;
655 if (actionMode != null)
656 {
657 if (actionMode.IsBuildMode && !(actionMode is AM_ViewMap))
658 {
659 ActionMode.LastBuildMode = actionMode;
660 }
661 actionMode.ClearSimpleTexts();
662 actionMode.OnDeactivate();
663 if (EClass.core.IsGameStarted)
664 {
665 foreach (Card card in EClass._map.things.Concat(EClass._map.charas))
666 {
667 card.renderer.DespawnSimpleText();
668 }
669 }
670 AM_NoMap noMap = ActionMode.NoMap;
671 EClass.ui.RemoveLayers(false);
672 }
673 if (this.IsBuildMode)
674 {
675 BuildMenu.Activate();
676 BuildMenu.Instance.terrainMenu.Show(this);
677 }
678 else
679 {
680 BuildMenu.Deactivate();
681 }
682 if (!(this is AM_Adv))
683 {
684 EClass.ui.hud.transRight.SetActive(false);
685 }
686 EClass.ui.hud.frame.SetActive(this.IsBuildMode && EClass.game.altUI);
687 if (this.hideBalloon)
688 {
689 EClass.ui.ShowBalloon(false);
690 }
691 else
692 {
693 EClass.ui.ShowBalloon(!EClass.scene.hideBalloon);
694 }
695 this.OnActivate();
696 this.RefreshTexts();
697 this.ShowLayer();
698 EClass.ui.widgets.OnChangeActionMode();
699 EClass.ui.extraHint.OnChangeActionMode();
700 CursorSystem.leftIcon = null;
701 EClass.scene.UpdateCursor();
702 }
703
704 // Token: 0x06000882 RID: 2178 RVA: 0x00036C08 File Offset: 0x00034E08
705 public virtual void OnActivate()
706 {
707 }
708
709 // Token: 0x06000883 RID: 2179 RVA: 0x00036C0C File Offset: 0x00034E0C
710 public unsafe void RefreshTexts()
711 {
712 if (!EClass.core.IsGameStarted)
713 {
714 return;
715 }
716 this.ClearSimpleTexts();
717 if (EClass._zone.IsRegion)
718 {
719 foreach (Spatial spatial in EClass._zone.children)
720 {
721 if (!spatial.destryoed)
722 {
723 Sprite sprite = null;
724 if (spatial.isRandomSite && !spatial.isConquered && spatial.visitCount > 0)
725 {
726 sprite = EClass.core.refs.tcs.spriteVisited;
727 }
728 else if (spatial.isConquered)
729 {
730 sprite = EClass.core.refs.tcs.spriteConquer;
731 }
732 if (sprite)
733 {
734 TCSimpleText tcsimpleText = TCSimpleText.SpawnIcon(sprite);
735 ActionMode.simpleTexts.Add(tcsimpleText);
736 Cell cell = spatial.RegionPos.cell;
737 tcsimpleText.transform.position = *cell.GetPoint().PositionTopdown() + EClass.setting.render.tc.simpleTextPos;
738 }
739 }
740 }
741 }
742 if (!this.IsBuildMode || !this.ShowMaskedThings)
743 {
744 return;
745 }
746 foreach (Card card in EClass._map.things.Concat(EClass._map.charas))
747 {
748 string simpleText = this.GetSimpleText(card);
749 if (!simpleText.IsEmpty())
750 {
751 TCSimpleText tcsimpleText2 = TCSimpleText.Spawn();
752 Popper.SetText(tcsimpleText2.tm, simpleText);
753 ActionMode.simpleTexts.Add(tcsimpleText2);
754 tcsimpleText2.transform.position = *card.pos.Position() + EClass.setting.render.tc.simpleTextPos;
755 }
756 }
757 if (Application.isEditor)
758 {
759 foreach (KeyValuePair<int, int> keyValuePair in EClass._map.backerObjs)
760 {
761 SourceBacker.Row row = EClass.sources.backers.map[keyValuePair.Value];
762 string text = "Backer:" + row.id.ToString() + "/" + row.Name;
763 if (row.isStatic != 0)
764 {
765 text = "★" + text;
766 }
767 TCSimpleText tcsimpleText3 = TCSimpleText.Spawn();
768 Popper.SetText(tcsimpleText3.tm, text);
769 ActionMode.simpleTexts.Add(tcsimpleText3);
770 Cell cell2 = EClass._map.GetCell(keyValuePair.Key);
771 tcsimpleText3.transform.position = *cell2.GetPoint().Position() + EClass.setting.render.tc.simpleTextPos;
772 }
773 foreach (Card card2 in EClass._map.Cards)
774 {
775 if (card2.isBackerContent)
776 {
777 SourceBacker.Row row2 = EClass.sources.backers.map.TryGetValue(card2.c_idBacker, null);
778 if (row2 != null)
779 {
780 string text2 = "Backer:" + row2.id.ToString() + "/" + row2.Name;
781 if (row2.isStatic != 0)
782 {
783 text2 = "★" + text2;
784 }
785 TCSimpleText tcsimpleText4 = TCSimpleText.Spawn();
786 Popper.SetText(tcsimpleText4.tm, text2);
787 ActionMode.simpleTexts.Add(tcsimpleText4);
788 tcsimpleText4.transform.position = card2.renderer.position + EClass.setting.render.tc.simpleTextPos;
789 }
790 }
791 }
792 }
793 }
794
795 // Token: 0x06000884 RID: 2180 RVA: 0x0003701C File Offset: 0x0003521C
796 public virtual string GetSimpleText(Card c)
797 {
798 if (c.trait is TraitRoomPlate && c.Cell.room != null)
799 {
800 return "#" + c.Cell.room.data.group.ToString();
801 }
802 return null;
803 }
804
805 // Token: 0x06000885 RID: 2181 RVA: 0x0003706C File Offset: 0x0003526C
806 public void ClearSimpleTexts()
807 {
808 foreach (TCSimpleText tcsimpleText in ActionMode.simpleTexts)
809 {
810 if (tcsimpleText != null)
811 {
812 PoolManager.Despawn(tcsimpleText);
813 }
814 }
815 ActionMode.simpleTexts.Clear();
816 }
817
818 // Token: 0x06000886 RID: 2182 RVA: 0x000370D0 File Offset: 0x000352D0
819 public void Deactivate()
820 {
821 ActionMode.DefaultMode.Activate(true, false);
822 }
823
824 // Token: 0x06000887 RID: 2183 RVA: 0x000370DE File Offset: 0x000352DE
825 public virtual void OnDeactivate()
826 {
827 }
828
829 // Token: 0x06000888 RID: 2184 RVA: 0x000370E0 File Offset: 0x000352E0
830 public virtual void OnCancel()
831 {
832 if (this.IsBuildMode && !EClass.core.config.input.rightClickExitBuildMode && !Input.GetKey(KeyCode.Escape))
833 {
834 return;
835 }
836 this.Deactivate();
837 }
838
839 // Token: 0x06000889 RID: 2185 RVA: 0x00037110 File Offset: 0x00035310
840 public virtual void OnBeforeUpdate()
841 {
842 }
843
844 // Token: 0x0600088A RID: 2186 RVA: 0x00037112 File Offset: 0x00035312
845 public virtual void OnAfterUpdate()
846 {
847 }
848
849 // Token: 0x0600088B RID: 2187 RVA: 0x00037114 File Offset: 0x00035314
850 public virtual void OnUpdateCursor()
851 {
852 CursorSystem.leftIcon = null;
853 CursorSystem.SetCursor(null, 0);
854 }
855
856 // Token: 0x0600088C RID: 2188 RVA: 0x00037123 File Offset: 0x00035323
857 public void OnRotate()
858 {
859 this.RotateUnderMouse();
860 }
861
862 // Token: 0x0600088D RID: 2189 RVA: 0x0003712B File Offset: 0x0003532B
863 public void SetCursorOnMap(CursorInfo cursor)
864 {
865 CursorSystem.SetCursor(EClass.ui.isPointerOverUI ? null : cursor, 0);
866 }
867
868 // Token: 0x0600088E RID: 2190 RVA: 0x00037144 File Offset: 0x00035344
869 public void UpdateInput()
870 {
871 ActionMode.mpos = Input.mousePosition;
872 if (!this.IsNoMap)
873 {
874 EClass.scene.mouseTarget.Update(Scene.HitPoint);
875 if (WidgetMouseover.Instance)
876 {
877 WidgetMouseover.Instance.Refresh();
878 }
879 }
880 if (LayerAbility.hotElement != null)
881 {
882 ActionMode.hotElementTimer += Core.delta;
883 ButtonAbility hotElement = LayerAbility.hotElement;
884 if (EInput.leftMouse.down)
885 {
886 if (EClass.core.config.game.doubleClickToHold && ActionMode.hotElementTimer < 0.35f)
887 {
888 EClass.player.SetCurrentHotItem(new HotItemAct(hotElement.source));
889 SE.SelectHotitem();
890 }
891 else
892 {
893 ButtonGrid componentOf = InputModuleEX.GetComponentOf<ButtonGrid>();
894 if (componentOf && componentOf.invOwner != null && componentOf.invOwner.owner == EClass.pc && (componentOf.card == null || componentOf.card.trait is TraitAbility) && !(componentOf.invOwner is InvOwnerEquip))
895 {
896 if (componentOf.card != null)
897 {
898 componentOf.card.Destroy();
899 }
900 SE.Equip();
901 CardBlueprint.SetNormalRarity(false);
902 Thing thing = ThingGen.Create("ability", -1, -1);
903 int num = (componentOf.invOwner is InvOwnerHotbar) ? 1 : 0;
904 componentOf.invOwner.Container.AddThing(thing, false, componentOf.index, num);
905 thing.c_idAbility = hotElement.source.alias;
906 thing.invY = num;
907 thing.invX = componentOf.index;
908 WidgetCurrentTool.dirty = true;
909 }
910 else
911 {
912 SE.BeepSmall();
913 }
914 }
915 LayerAbility.ClearHotElement();
916 }
917 if (EInput.rightMouse.down)
918 {
919 LayerAbility.ClearHotElement();
920 }
921 }
922 else
923 {
924 ActionMode.hotElementTimer = 0f;
925 }
926 ActionMode.focusTimer += Core.delta;
927 if (EClass.ui.isPointerOverUI && (EInput.leftMouse.down || EInput.rightMouse.down || (EClass.core.config.ui.autoFocusWindow && !Input.GetMouseButton(0) && ActionMode.focusTimer > 0.2f)))
928 {
929 LayerInventory componentOf2 = InputModuleEX.GetComponentOf<LayerInventory>();
930 if (componentOf2 != null && EClass.ui.layerFloat.layers.Contains(componentOf2))
931 {
932 if (EInput.rightMouse.down)
933 {
934 if (!componentOf2.mainInv && !InputModuleEX.GetComponentOf<UIButton>() && !componentOf2.windows[0].saveData.noRightClickClose)
935 {
936 componentOf2.Close();
937 }
938 }
939 else
940 {
941 componentOf2.transform.SetAsLastSibling();
942 }
943 }
944 LayerAbility componentOf3 = InputModuleEX.GetComponentOf<LayerAbility>();
945 if (componentOf3 != null && EClass.ui.layerFloat.layers.Contains(componentOf3))
946 {
947 componentOf3.transform.SetAsLastSibling();
948 }
949 ActionMode.focusTimer = 0f;
950 }
951 if ((EInput.isShiftDown && Input.GetMouseButton(0)) || (EInput.rightMouse.dragging2 && !Input.GetMouseButtonDown(1) && Input.GetMouseButton(1)))
952 {
953 bool rightMouse = !Input.GetMouseButtonDown(1) && Input.GetMouseButton(1);
954 ButtonGrid componentOf4 = InputModuleEX.GetComponentOf<ButtonGrid>();
955 if (componentOf4 != null && componentOf4.invOwner != null && componentOf4.card != null && componentOf4.invOwner.CanShiftClick(componentOf4, rightMouse) && EClass.ui.AllowInventoryInteractions)
956 {
957 componentOf4.invOwner.OnShiftClick(componentOf4, rightMouse);
958 }
959 }
960 if (EInput.rightMouse.down)
961 {
962 if (EClass.ui.contextMenu.isActive)
963 {
964 EClass.ui.contextMenu.currentMenu.Hide();
965 EInput.rightMouse.Consume();
966 Layer.rightClicked = false;
967 }
968 if (DropdownGrid.IsActive && !EClass.ui.GetLayer<LayerInfo>(false))
969 {
970 DropdownGrid.Instance.Deactivate();
971 EInput.rightMouse.Consume();
972 Layer.rightClicked = false;
973 }
974 }
975 if (EInput.middleMouse.down && this.TryShowWidgetMenu())
976 {
977 EInput.Consume(false, 1);
978 }
979 if (EInput.middleMouse.down || EInput.middleMouse.clicked || EInput.middleMouse.pressedLong)
980 {
981 UIButton componentOf5 = InputModuleEX.GetComponentOf<UIButton>();
982 if (componentOf5 && componentOf5.CanMiddleClick() && (EInput.middleMouse.clicked || EInput.middleMouse.pressedLong))
983 {
984 componentOf5.OnMiddleClick();
985 }
986 }
987 if (EClass.ui.contextMenu.currentMenu)
988 {
989 UIContextMenu.timeSinceClosed = 0f;
990 }
991 else
992 {
993 UIContextMenu.timeSinceClosed += Time.deltaTime;
994 }
995 if (EClass.ui.currentDrag != null)
996 {
997 EClass.ui.OnDrag();
998 if (EInput.leftMouse.down || EInput.rightMouse.down)
999 {
1000 EClass.ui.EndDrag(EInput.rightMouse.down);
1001 }
1002 }
1003 ButtonState middleMouse = EInput.middleMouse;
1004 if (middleMouse.pressedLongAction != null)
1005 {
1006 if (middleMouse.pressedLong)
1007 {
1008 middleMouse.pressedLongAction();
1009 middleMouse.pressedLongAction = null;
1010 }
1011 else if (!EInput.middleMouse.pressing)
1012 {
1013 middleMouse.pressedLongAction = null;
1014 }
1015 }
1016 EClass.ui.UpdateInput();
1017 if (this.AllowGeneralInput && !EClass.ui.IsDragging)
1018 {
1019 if (Input.GetKeyDown(KeyCode.Tab) && !EClass.debug.debugInput && !EClass.ui.BlockInput && !EInput.waitReleaseAnyKey)
1020 {
1021 if (!EClass.ui.IsInventoryOpen)
1022 {
1023 SE.PopInventory();
1024 }
1025 EClass.ui.ToggleInventory(false);
1026 }
1027 if (!EClass.ui.BlockInput && !this.IsBuildMode && !EInput.waitReleaseAnyKey)
1028 {
1029 switch (EInput.action)
1030 {
1031 case EAction.MenuInventory:
1032 EClass.ui.ToggleInventory(false);
1033 break;
1034 case EAction.MenuChara:
1035 {
1036 LayerChara layerChara = EClass.ui.ToggleLayer<LayerChara>(null);
1037 if (layerChara != null)
1038 {
1039 layerChara.SetChara(EClass.pc);
1040 }
1041 break;
1042 }
1043 case EAction.MenuJournal:
1044 EClass.ui.ToggleLayer<LayerJournal>(null);
1045 break;
1046 case EAction.MenuAbility:
1047 if (!EClass.debug.enable)
1048 {
1049 EClass.ui.ToggleAbility(false);
1050 }
1051 break;
1052 }
1053 }
1054 if (!this.FixFocus)
1055 {
1056 this.InputMovement();
1057 }
1058 if (!EClass.ui.canvas.enabled && EInput.IsAnyKeyDown(true))
1059 {
1060 EClass.ui.canvas.enabled = true;
1061 EInput.Consume(false, 1);
1062 return;
1063 }
1064 }
1065 if (EInput.action == EAction.Examine && !this.IsBuildMode)
1066 {
1067 ButtonGrid componentOf6 = InputModuleEX.GetComponentOf<ButtonGrid>();
1068 Card card = null;
1069 if (componentOf6 && componentOf6.card != null)
1070 {
1071 card = componentOf6.card;
1072 }
1073 if (card == null)
1074 {
1075 UIItem componentOf7 = InputModuleEX.GetComponentOf<UIItem>();
1076 if (componentOf7 && componentOf7.refObj is Thing)
1077 {
1078 card = (Thing)componentOf7.refObj;
1079 }
1080 }
1081 if (card == null)
1082 {
1083 LayerCraft layerCraft = EClass.ui.GetLayer<LayerCraft>(false);
1084 if (layerCraft)
1085 {
1086 card = layerCraft.product;
1087 }
1088 }
1089 if (card != null)
1090 {
1091 if (EClass.ui.GetLayer<LayerInfo>(false))
1092 {
1093 EClass.ui.RemoveLayer<LayerInfo>();
1094 }
1095 EClass.ui.AddLayer<LayerInfo>().Set(card, true);
1096 }
1097 }
1098 if (EInput.buttonCtrl.clicked && !LayerDrama.Instance && EClass.scene.actionMode is AM_Adv && WidgetCurrentTool.Instance)
1099 {
1100 WidgetCurrentTool.Instance.SwitchPage();
1101 }
1102 if (EClass.ui.BlockActions)
1103 {
1104 return;
1105 }
1106 if (this.AllowBuildModeShortcuts && Input.GetKeyDown(KeyCode.Q) && ActionMode.Picker.CanActivate)
1107 {
1108 ActionMode.Picker.Activate(true, false);
1109 }
1110 if (EClass.debug.godBuild && EInput.isCtrlDown && EInput.wheel != 0 && Scene.HitPoint.IsValid && HotItemHeld.taskBuild == null)
1111 {
1112 Point hitPoint = Scene.HitPoint;
1113 bool flag = EInput.wheel > 0;
1114 if (EClass.scene.mouseTarget.card != null)
1115 {
1116 Card card2 = EClass.scene.mouseTarget.card;
1117 if (card2.isThing && card2.IsInstalled)
1118 {
1119 SourceMaterial.Row currentMat = card2.isDyed ? card2.DyeMat : card2.material;
1120 List<SourceMaterial.Row> source = (from m in EClass.sources.materials.rows
1121 where m.thing == currentMat.thing
1122 select m).ToList<SourceMaterial.Row>();
1123 if (EInput.isShiftDown)
1124 {
1125 source = EClass.sources.materials.rows;
1126 }
1127 SourceMaterial.Row row = flag ? source.NextItem(currentMat) : source.PrevItem(currentMat);
1128 if (EInput.isAltDown)
1129 {
1130 row = ActionMode.lastEditorMat;
1131 }
1132 if (card2.isDyed)
1133 {
1134 card2.Dye(row);
1135 }
1136 else
1137 {
1138 card2.ChangeMaterial(row);
1139 }
1140 ActionMode.lastEditorMat = row;
1141 Msg.Say(row.GetName() + "(" + row.alias + ")");
1142 }
1143 }
1144 else if (hitPoint.HasObj)
1145 {
1146 SourceMaterial.Row matObj = hitPoint.cell.matObj;
1147 List<SourceMaterial.Row> rows = EClass.sources.materials.rows;
1148 SourceMaterial.Row row2 = flag ? rows.NextItem(matObj) : rows.PrevItem(matObj);
1149 if (EInput.isAltDown)
1150 {
1151 row2 = ActionMode.lastEditorMat;
1152 }
1153 hitPoint.cell.objMat = (byte)row2.id;
1154 ActionMode.lastEditorMat = row2;
1155 Msg.Say(row2.GetName());
1156 }
1157 EInput.Consume(false, 1);
1158 }
1159 if (this.AllowHotbar && !this.IsBuildMode && EClass.debug.debugHotkeys == CoreDebug.DebugHotkey.None)
1160 {
1161 if (EInput.hotkey != -1)
1162 {
1163 WidgetCurrentTool.Instance.Select(EInput.hotkey, true);
1164 ActionMode.AdvOrRegion.UpdatePlans();
1165 }
1166 else if (!EClass.debug.enable && EInput.functionkey != -1)
1167 {
1168 WidgetHotbar hotbarExtra = WidgetHotbar.HotbarExtra;
1169 if (hotbarExtra)
1170 {
1171 hotbarExtra.TryUse(EInput.functionkey);
1172 }
1173 }
1174 }
1175 this.OnUpdateInput();
1176 if (EClass.debug.enable)
1177 {
1178 EClass.core.debug.UpdateInput();
1179 }
1180 ActionMode.textTimer += Core.delta;
1181 if (ActionMode.textTimer > 0.1f)
1182 {
1183 ActionMode.textTimer = 0f;
1184 this.RefreshTexts();
1185 }
1186 if (this.IsBuildMode)
1187 {
1188 CoreConfig.InputSetting input = EClass.core.config.input;
1189 if (EInput.middleMouse.clicked)
1190 {
1191 this.DoFunc(input.b_middleClick);
1192 }
1193 else if (EInput.middleMouse.pressedLong)
1194 {
1195 this.DoFunc(input.b_middlePressLong);
1196 EInput.middleMouse.Consume();
1197 }
1198 if (EInput.mouse3.clicked)
1199 {
1200 this.DoFunc(input.b_mouse3Click);
1201 }
1202 else if (EInput.mouse3.pressedLong)
1203 {
1204 this.DoFunc(input.b_mouse3PressLong);
1205 EInput.mouse3.Consume();
1206 }
1207 if (EInput.mouse4.clicked)
1208 {
1209 this.DoFunc(input.b_mouse4Click);
1210 return;
1211 }
1212 if (EInput.mouse4.pressedLong)
1213 {
1214 this.DoFunc(input.b_mouse4PressLong);
1215 EInput.mouse4.Consume();
1216 }
1217 }
1218 }
1219
1220 // Token: 0x0600088F RID: 2191 RVA: 0x00037C48 File Offset: 0x00035E48
1221 public void InputMovement()
1222 {
1223 float num = 0f;
1224 float num2 = 0f;
1225 Vector2 vector = EInput.axis;
1226 bool flag = !EClass.core.IsGameStarted;
1227 if ((!this.FixFocus && !EInput.rightMouse.pressing) || EClass.scene.actionMode.IsBuildMode)
1228 {
1229 if (Input.GetKey(KeyCode.LeftShift))
1230 {
1231 vector *= 3f;
1232 }
1233 if (EClass.core.config.camera.edgeScroll)
1234 {
1235 Vector2 zero = Vector2.zero;
1236 if (ActionMode.mpos.x < 16f)
1237 {
1238 zero.x -= 1f;
1239 }
1240 if (ActionMode.mpos.x > (float)(Screen.width - 16))
1241 {
1242 zero.x += 1f;
1243 }
1244 if (ActionMode.mpos.y < 8f)
1245 {
1246 zero.y -= 1f;
1247 }
1248 if (ActionMode.mpos.y > (float)(Screen.height - 8))
1249 {
1250 zero.y += 1f;
1251 }
1252 if (zero != Vector2.zero)
1253 {
1254 vector += zero * (EClass.core.config.camera.sensEdge * 2f);
1255 }
1256 }
1257 EInput.hasAxisMoved = (vector != Vector2.zero);
1258 ButtonState buttonScroll = EInput.buttonScroll;
1259 if (ActionMode.Adv.IsActive)
1260 {
1261 bool zoomOut = ActionMode.Adv.zoomOut;
1262 }
1263 if (EInput.buttonScroll != null && EInput.buttonScroll.pressing && (flag || !EClass.ui.BlockActions))
1264 {
1265 num = EInput.dragAmount.x * (0.1f + EClass.core.config.camera.sensDrag);
1266 num2 = EInput.dragAmount.y * (0.1f + EClass.core.config.camera.sensDrag);
1267 if (!EClass.core.config.camera.invertX)
1268 {
1269 num *= -1f;
1270 }
1271 if (!EClass.core.config.camera.invertY)
1272 {
1273 num2 *= -1f;
1274 }
1275 if (EInput.hasMouseMoved)
1276 {
1277 EInput.hasAxisMoved = true;
1278 }
1279 }
1280 if (EInput.hasAxisMoved)
1281 {
1282 EClass.screen.zoomPos = Vector3.zero;
1283 }
1284 if (EInput.wheel != 0 && !InputModuleEX.GetComponentOf<UIScrollView>())
1285 {
1286 this.InputWheel(EInput.wheel);
1287 }
1288 }
1289 float momentum = EClass.core.config.camera.momentum;
1290 if (momentum > 0f && EInput.axis == Vector2.zero)
1291 {
1292 ActionMode.smoothX = Mathf.Lerp(ActionMode.smoothX, num, Time.smoothDeltaTime * momentum);
1293 ActionMode.smoothY = Mathf.Lerp(ActionMode.smoothY, num2, Time.smoothDeltaTime * momentum);
1294 }
1295 else
1296 {
1297 ActionMode.smoothX = num;
1298 ActionMode.smoothY = num2;
1299 }
1300 EClass.screen.ScrollMouse(ActionMode.smoothX * 0.1f, ActionMode.smoothY * 0.1f);
1301 if (EInput.hasAxisMoved)
1302 {
1303 this.OnScroll();
1304 EClass.screen.ScrollAxis(vector, false);
1305 }
1306 }
1307
1308 // Token: 0x06000890 RID: 2192 RVA: 0x00037F63 File Offset: 0x00036163
1309 public virtual void InputWheel(int wheel)
1310 {
1311 if (this.AllowWheelZoom)
1312 {
1313 EClass.screen.ModTargetZoomIndex(-wheel);
1314 }
1315 }
1316
1317 // Token: 0x06000891 RID: 2193 RVA: 0x00037F79 File Offset: 0x00036179
1318 public virtual void OnUpdateInput()
1319 {
1320 }
1321
1322 // Token: 0x06000892 RID: 2194 RVA: 0x00037F7C File Offset: 0x0003617C
1323 public void DoFunc(CoreConfig.GameFuncBuild func)
1324 {
1325 switch (func)
1326 {
1327 case CoreConfig.GameFuncBuild.ExitBuildMode:
1328 ActionMode.DefaultMode.Activate(true, false);
1329 break;
1330 case CoreConfig.GameFuncBuild.Rotate:
1331 this.OnRotate();
1332 break;
1333 case CoreConfig.GameFuncBuild.ToggleFreepos:
1334 EClass.scene.ToggleFreePos();
1335 break;
1336 case CoreConfig.GameFuncBuild.SnapFreepos:
1337 EClass.scene.ToggleSnapFreePos();
1338 break;
1339 case CoreConfig.GameFuncBuild.ToggleRoof:
1340 EClass.scene.ToggleShowRoof();
1341 break;
1342 case CoreConfig.GameFuncBuild.ToggleSlope:
1343 EClass.scene.ToggleSlope();
1344 break;
1345 case CoreConfig.GameFuncBuild.ToggleWall:
1346 EClass.scene.ToggleShowWall();
1347 break;
1348 case CoreConfig.GameFuncBuild.TogglePicker:
1349 if (!ActionMode.Picker.CanActivate)
1350 {
1351 ActionMode.Picker.Activate(true, false);
1352 }
1353 break;
1354 case CoreConfig.GameFuncBuild.ToggleBuildLight:
1355 EClass.scene.ToggleLight();
1356 break;
1357 }
1358 WidgetHotbar.RefreshHighlights();
1359 }
1360
1361 // Token: 0x06000893 RID: 2195 RVA: 0x00038034 File Offset: 0x00036234
1362 public void DoFunc(CoreConfig.GameFunc func)
1363 {
1364 Chara targetChara = EClass.scene.mouseTarget.TargetChara;
1365 switch (func)
1366 {
1367 case CoreConfig.GameFunc.ToggleZoom:
1368 ActionMode.Adv.ToggleZoom();
1369 break;
1370 case CoreConfig.GameFunc.ShowInv:
1371 EClass.ui.ToggleInventory(true);
1372 break;
1373 case CoreConfig.GameFunc.ShowChara:
1374 {
1375 LayerChara layerChara = EClass.ui.ToggleLayer<LayerChara>(null);
1376 if (layerChara)
1377 {
1378 layerChara.SetChara(EClass.pc);
1379 layerChara.windows[0].SetRect(EClass.core.refs.rects.center, false);
1380 layerChara.Delay(0.05f);
1381 }
1382 break;
1383 }
1384 case CoreConfig.GameFunc.ShowAbility:
1385 EClass.ui.ToggleAbility(true);
1386 break;
1387 case CoreConfig.GameFunc.ToggleBuild:
1388 if (!EClass._zone.CanEnterBuildModeAnywhere)
1389 {
1390 SE.Beep();
1391 Msg.Say("invalidAction");
1392 return;
1393 }
1394 ActionMode.Inspect.Activate(true, false);
1395 break;
1396 case CoreConfig.GameFunc.ShowJournal:
1397 {
1398 LayerJournal layerJournal = EClass.ui.ToggleLayer<LayerJournal>(null);
1399 if (layerJournal)
1400 {
1401 layerJournal.windows[0].SetRect(EClass.core.refs.rects.center, false);
1402 layerJournal.Delay(0.05f);
1403 }
1404 break;
1405 }
1406 case CoreConfig.GameFunc.EmuShift:
1407 case CoreConfig.GameFunc.EmuAlt:
1408 return;
1409 case CoreConfig.GameFunc.AllAction:
1410 if (!EClass.ui.isPointerOverUI)
1411 {
1412 ActionMode.Adv.ShowAllAction();
1413 }
1414 break;
1415 case CoreConfig.GameFunc.ToggleNoRoof:
1416 EClass.game.config.noRoof = !EClass.game.config.noRoof;
1417 break;
1418 case CoreConfig.GameFunc.OpenAllyInv:
1419 if (!EClass.pc.HasNoGoal || (targetChara != null && !targetChara.IsPCFaction))
1420 {
1421 return;
1422 }
1423 if (EClass.scene.mouseTarget.pos.Equals(EClass.pc.pos))
1424 {
1425 if (!EClass.ui.IsInventoryOpen)
1426 {
1427 SE.PopInventory();
1428 }
1429 EClass.ui.ToggleInventory(false);
1430 }
1431 else if (targetChara != null && EClass.pc.Dist(targetChara) <= 1)
1432 {
1433 LayerInventory.CreateContainer(targetChara);
1434 }
1435 break;
1436 case CoreConfig.GameFunc.Talk:
1437 if (!EClass.pc.HasNoGoal || targetChara == null || targetChara.hostility <= Hostility.Enemy || targetChara.IsPC || EClass.pc.Dist(targetChara) > 2)
1438 {
1439 return;
1440 }
1441 ACT.Chat.Perform(EClass.pc, targetChara, null);
1442 break;
1443 case CoreConfig.GameFunc.EmptyHand:
1444 EInput.action = EAction.EmptyHand;
1445 return;
1446 case CoreConfig.GameFunc.Fire:
1447 if (EInput.keyFire.Update(true))
1448 {
1449 EInput.action = EAction.Fire;
1450 return;
1451 }
1452 break;
1453 default:
1454 return;
1455 }
1456 EInput.Consume(false, 1);
1457 }
1458
1459 // Token: 0x06000894 RID: 2196 RVA: 0x000382B4 File Offset: 0x000364B4
1460 public virtual void OnScroll()
1461 {
1462 }
1463
1464 // Token: 0x06000895 RID: 2197 RVA: 0x000382B8 File Offset: 0x000364B8
1465 public void TryRightClickCloseWidget()
1466 {
1467 Widget componentOf = InputModuleEX.GetComponentOf<Widget>();
1468 if (componentOf && componentOf.RightClickToClose)
1469 {
1470 componentOf.Close();
1471 }
1472 }
1473
1474 // Token: 0x06000896 RID: 2198 RVA: 0x000382E4 File Offset: 0x000364E4
1475 public bool TryShowWidgetMenu()
1476 {
1477 Widget componentOf = InputModuleEX.GetComponentOf<Widget>();
1478 if (!componentOf || !componentOf.CanShowContextMenu())
1479 {
1480 return false;
1481 }
1482 if (componentOf.RightClickToClose)
1483 {
1484 componentOf.Close();
1485 return true;
1486 }
1487 componentOf.ShowContextMenu();
1488 return true;
1489 }
1490
1491 // Token: 0x06000897 RID: 2199 RVA: 0x00038320 File Offset: 0x00036520
1492 public HitResult _HitTest(Point point, Point start)
1493 {
1494 if (!EClass.debug.ignoreBuildRule && !this.CanTargetOutsideBounds && (!point.IsValid || !point.IsInBoundsPlus))
1495 {
1496 return HitResult.NoTarget;
1497 }
1498 if (!point.IsValid)
1499 {
1500 return HitResult.NoTarget;
1501 }
1502 if (!this.CanTargetFog && !point.cell.isSeen)
1503 {
1504 return HitResult.Default;
1505 }
1506 return this.HitTest(point, start);
1507 }
1508
1509 // Token: 0x06000898 RID: 2200 RVA: 0x00038384 File Offset: 0x00036584
1510 public virtual HitResult HitTest(Point point, Point start)
1511 {
1512 return HitResult.Default;
1513 }
1514
1515 // Token: 0x06000899 RID: 2201 RVA: 0x00038387 File Offset: 0x00036587
1516 public virtual void OnSelectStart(Point point)
1517 {
1518 }
1519
1520 // Token: 0x0600089A RID: 2202 RVA: 0x00038389 File Offset: 0x00036589
1521 public virtual void OnSelectEnd(bool cancel)
1522 {
1523 }
1524
1525 // Token: 0x0600089B RID: 2203 RVA: 0x0003838C File Offset: 0x0003658C
1526 public virtual MeshPass GetGuidePass(Point point)
1527 {
1528 if ((!point.HasNonWallBlock && !point.HasBlockRecipe && point.IsSeen) || (point.sourceBlock.tileType.Invisible && !this.IsBuildMode))
1529 {
1530 return EClass.screen.guide.passGuideFloor;
1531 }
1532 return EClass.screen.guide.passGuideBlock;
1533 }
1534
1535 // Token: 0x0600089C RID: 2204 RVA: 0x000383EC File Offset: 0x000365EC
1536 public unsafe virtual void OnRenderTile(Point point, HitResult result, int dir)
1537 {
1538 if (result == HitResult.NoTarget || !point.IsValid || (!point.IsSeen && !this.CanTargetFog))
1539 {
1540 return;
1541 }
1542 MeshPass guidePass = this.GetGuidePass(point);
1543 int num = (int)result;
1544 if (this.tileSelector.start != null && result == HitResult.Default)
1545 {
1546 num = 2;
1547 }
1548 Vector3 vector = *point.Position();
1549 if (num == 0)
1550 {
1551 num = this.GetDefaultTile(point);
1552 }
1553 guidePass.Add(vector.x, vector.y, vector.z - 0.01f, (float)num, 0.3f);
1554 if (!this.IsRoofEditMode(null) && point.HasWallOrFence && !point.cell.hasDoor && this.HighlightWall(point))
1555 {
1556 EClass.screen.guide.DrawWall(point, EClass.Colors.blockColors.Passive, true, 0f);
1557 }
1558 if (this.IsBuildMode && EClass.screen.tileSelector.start == null && point.Installed != null && ActionMode.Inspect.IsActive)
1559 {
1560 point.Installed.trait.OnRenderTile(point, result, dir);
1561 }
1562 }
1563
1564 // Token: 0x0600089D RID: 2205 RVA: 0x000384FC File Offset: 0x000366FC
1565 public unsafe void OnRenderTileFloor(Point point, HitResult result)
1566 {
1567 if (result == HitResult.NoTarget || !point.IsValid || (!point.IsSeen && !this.CanTargetFog))
1568 {
1569 return;
1570 }
1571 MeshPass guidePass = this.GetGuidePass(point);
1572 int num = (int)result;
1573 if (this.tileSelector.start != null && result == HitResult.Default)
1574 {
1575 num = 2;
1576 }
1577 Vector3 vector = *point.Position((int)point.cell.height);
1578 if (num == 0)
1579 {
1580 num = this.GetDefaultTile(point);
1581 }
1582 guidePass.Add(vector.x, vector.y, vector.z - 0.01f, (float)num, 0.3f);
1583 }
1584
1585 // Token: 0x0600089E RID: 2206 RVA: 0x0003858B File Offset: 0x0003678B
1586 public virtual bool CanProcessTiles()
1587 {
1588 return !this.Multisize || this.Summary.countValid == this.hitW * this.hitH;
1589 }
1590
1591 // Token: 0x0600089F RID: 2207 RVA: 0x000385B2 File Offset: 0x000367B2
1592 public virtual void OnBeforeProcessTiles()
1593 {
1594 }
1595
1596 // Token: 0x060008A0 RID: 2208 RVA: 0x000385B4 File Offset: 0x000367B4
1597 public virtual void OnProcessTiles(Point point, int dir)
1598 {
1599 }
1600
1601 // Token: 0x060008A1 RID: 2209 RVA: 0x000385B6 File Offset: 0x000367B6
1602 public virtual void OnAfterProcessTiles(Point start, Point end)
1603 {
1604 }
1605
1606 // Token: 0x060008A2 RID: 2210 RVA: 0x000385B8 File Offset: 0x000367B8
1607 public virtual void OnFinishProcessTiles()
1608 {
1609 }
1610
1611 // Token: 0x060008A3 RID: 2211 RVA: 0x000385BA File Offset: 0x000367BA
1612 public virtual void OnRefreshSummary(Point point, HitResult result, HitSummary summary)
1613 {
1614 if (result == HitResult.Valid || result == HitResult.Warning)
1615 {
1616 summary.money += this.CostMoney;
1617 summary.countValid++;
1618 }
1619 }
1620
1621 // Token: 0x060008A4 RID: 2212 RVA: 0x000385E8 File Offset: 0x000367E8
1622 public void ShowLayer()
1623 {
1624 this.layer = this.OnShowLayer();
1625 if (this.layer != null)
1626 {
1627 CursorSystem.SetCursor(null, 0);
1628 }
1629 else
1630 {
1631 CursorSystem.SetCursor(this.DefaultCursor, 0);
1632 }
1633 if (EClass.core.screen.tileSelector)
1634 {
1635 EClass.core.screen.tileSelector.OnChangeActionMode();
1636 }
1637 EClass.ui.hud.hint.Refresh();
1638 }
1639
1640 // Token: 0x060008A5 RID: 2213 RVA: 0x00038662 File Offset: 0x00036862
1641 public virtual Layer OnShowLayer()
1642 {
1643 return null;
1644 }
1645
1646 // Token: 0x060008A6 RID: 2214 RVA: 0x00038665 File Offset: 0x00036865
1647 public void HideLayer()
1648 {
1649 EClass.ui.RemoveLayer(this.layer);
1650 CursorSystem.SetCursor(CursorSystem.Select, 0);
1651 EClass.ui.hud.hint.UpdateText();
1652 this.OnHideLayer();
1653 }
1654
1655 // Token: 0x060008A7 RID: 2215 RVA: 0x0003869C File Offset: 0x0003689C
1656 public virtual void OnHideLayer()
1657 {
1658 }
1659
1660 // Token: 0x060008A8 RID: 2216 RVA: 0x000386A0 File Offset: 0x000368A0
1661 public virtual string GetHintText()
1662 {
1663 string text = this.textHintTitle.IsEmpty(Lang.Get(this.id)) + " - ";
1664 BaseTileSelector tileSelector = EClass.screen.tileSelector;
1665 ActionMode actionMode = EClass.scene.actionMode;
1666 if (this.layer)
1667 {
1668 if (actionMode == ActionMode.Build)
1669 {
1670 text += "hintBuild".lang();
1671 }
1672 if (actionMode == ActionMode.CreateArea)
1673 {
1674 text += "hintCreateArea".lang();
1675 }
1676 }
1677 else if (actionMode == ActionMode.Inspect && ActionMode.Inspect.target != null)
1678 {
1679 text = "hintMoveTarget".lang();
1680 }
1681 else if (this.selectType == BaseTileSelector.SelectType.Single)
1682 {
1683 text += "hintSelectSingle".lang();
1684 }
1685 else if (tileSelector.start == null)
1686 {
1687 text += "hintSelectStart".lang();
1688 }
1689 else
1690 {
1691 text += "hintSelectEnd".lang();
1692 }
1693 if (actionMode == ActionMode.Build && ActionMode.Build.recipe != null && tileSelector.start == null)
1694 {
1695 if (ActionMode.Build.recipe.CanRotate)
1696 {
1697 text = text + " " + "hintRotate".lang();
1698 }
1699 if (ActionMode.Build.MaxAltitude > 0)
1700 {
1701 text = text + " " + "hintAltitude2".lang();
1702 }
1703 }
1704 return text;
1705 }
1706
1707 // Token: 0x060008A9 RID: 2217 RVA: 0x000387F4 File Offset: 0x000369F4
1708 public virtual void RotateUnderMouse()
1709 {
1710 SE.Rotate();
1711 Point hitPoint = Scene.HitPoint;
1712 if (!hitPoint.IsValid)
1713 {
1714 return;
1715 }
1716 hitPoint.cell.RotateAll();
1717 if (EClass.debug.enable)
1718 {
1719 GrowSystem growth = hitPoint.growth;
1720 if (growth != null)
1721 {
1722 growth.Grow(100);
1723 }
1724 Thing installed = hitPoint.Installed;
1725 if (((installed != null) ? installed.trait : null) is TraitSeed)
1726 {
1727 (hitPoint.Installed.trait as TraitSeed).TrySprout(true, false, null);
1728 return;
1729 }
1730 }
1731 }
1732
1733 // Token: 0x060008AA RID: 2218 RVA: 0x00038871 File Offset: 0x00036A71
1734 public virtual ref string SetMouseInfo(ref string s)
1735 {
1736 return ref s;
1737 }
1738
1739 // Token: 0x060008AB RID: 2219 RVA: 0x00038874 File Offset: 0x00036A74
1740 public void TogglePause()
1741 {
1742 if (ActionMode.IsAdv)
1743 {
1744 EClass.core.config.game.autopause = !EClass.core.config.game.autopause;
1745 if (EClass.core.config.game.autopause)
1746 {
1747 SE.Play("tick0");
1748 return;
1749 }
1750 SE.Play("tick1");
1751 return;
1752 }
1753 else
1754 {
1755 if (EClass.game.gameSpeedIndex != 0)
1756 {
1757 this.Pause(true);
1758 return;
1759 }
1760 this.UnPause(true);
1761 return;
1762 }
1763 }
1764
1765 // Token: 0x060008AC RID: 2220 RVA: 0x000388FA File Offset: 0x00036AFA
1766 public void Pause(bool sound = false)
1767 {
1768 this.ChangeGameSpeed(1, sound);
1769 }
1770
1771 // Token: 0x060008AD RID: 2221 RVA: 0x00038904 File Offset: 0x00036B04
1772 public void UnPause(bool sound = false)
1773 {
1774 this.ChangeGameSpeed(EClass.game.lastGameSpeedIndex, sound);
1775 }
1776
1777 // Token: 0x060008AE RID: 2222 RVA: 0x00038918 File Offset: 0x00036B18
1778 public void ChangeGameSpeed(int a, bool sound = false)
1779 {
1780 if (EClass.game.gameSpeedIndex == a)
1781 {
1782 return;
1783 }
1784 if (sound)
1785 {
1786 SE.Play("tick" + a.ToString());
1787 }
1788 EClass.game.gameSpeedIndex = a;
1789 if (a != 0)
1790 {
1791 EClass.game.lastGameSpeedIndex = a;
1792 }
1793 WidgetHotbar.RefreshHighlights();
1794 }
1795
1796 // Token: 0x040008AA RID: 2218
1797 public static ActionMode DefaultMode;
1798
1799 // Token: 0x040008AB RID: 2219
1800 public static AM_Title Title = new AM_Title();
1801
1802 // Token: 0x040008AC RID: 2220
1803 public static AM_Sim Sim;
1804
1805 // Token: 0x040008AD RID: 2221
1806 public static AM_ViewZone View;
1807
1808 // Token: 0x040008AE RID: 2222
1809 public static AM_Adv Adv;
1810
1811 // Token: 0x040008AF RID: 2223
1812 public static AM_Region Region;
1813
1814 // Token: 0x040008B0 RID: 2224
1815 public static AM_ADV_Target AdvTarget;
1816
1817 // Token: 0x040008B1 RID: 2225
1818 public static AM_EloMap EloMap;
1819
1820 // Token: 0x040008B2 RID: 2226
1821 public static AM_Inspect Inspect;
1822
1823 // Token: 0x040008B3 RID: 2227
1824 public static AM_NoMap NoMap;
1825
1826 // Token: 0x040008B4 RID: 2228
1827 public static AM_MiniGame MiniGame;
1828
1829 // Token: 0x040008B5 RID: 2229
1830 public static AM_NewZone NewZone;
1831
1832 // Token: 0x040008B6 RID: 2230
1833 public static AM_Bird Bird;
1834
1835 // Token: 0x040008B7 RID: 2231
1836 public static AM_Mine Mine;
1837
1838 // Token: 0x040008B8 RID: 2232
1839 public static AM_Dig Dig;
1840
1841 // Token: 0x040008B9 RID: 2233
1842 public static AM_Harvest Harvest;
1843
1844 // Token: 0x040008BA RID: 2234
1845 public static AM_Cut Cut;
1846
1847 // Token: 0x040008BB RID: 2235
1848 public static AM_StateEditor StateEditor;
1849
1850 // Token: 0x040008BC RID: 2236
1851 public static AM_Picker Picker;
1852
1853 // Token: 0x040008BD RID: 2237
1854 public static AM_Copy Copy;
1855
1856 // Token: 0x040008BE RID: 2238
1857 public static AM_Blueprint Blueprint;
1858
1859 // Token: 0x040008BF RID: 2239
1860 public static AM_Build Build;
1861
1862 // Token: 0x040008C0 RID: 2240
1863 public static AM_CreateArea CreateArea;
1864
1865 // Token: 0x040008C1 RID: 2241
1866 public static AM_EditArea EditArea;
1867
1868 // Token: 0x040008C2 RID: 2242
1869 public static AM_ExpandArea ExpandArea;
1870
1871 // Token: 0x040008C3 RID: 2243
1872 public static AM_Deconstruct Deconstruct;
1873
1874 // Token: 0x040008C4 RID: 2244
1875 public static AM_Select Select;
1876
1877 // Token: 0x040008C5 RID: 2245
1878 public static AM_RemoveDesignation RemoveDesignation;
1879
1880 // Token: 0x040008C6 RID: 2246
1881 public static AM_ViewMap ViewMap;
1882
1883 // Token: 0x040008C7 RID: 2247
1884 public static AM_Terrain Terrain;
1885
1886 // Token: 0x040008C8 RID: 2248
1887 public static AM_Populate Populate;
1888
1889 // Token: 0x040008C9 RID: 2249
1890 public static AM_EditMarker EditMarker;
1891
1892 // Token: 0x040008CA RID: 2250
1893 public static AM_Visibility Visibility;
1894
1895 // Token: 0x040008CB RID: 2251
1896 public static AM_Cinema Cinema;
1897
1898 // Token: 0x040008CC RID: 2252
1899 public static AM_Paint Paint;
1900
1901 // Token: 0x040008CD RID: 2253
1902 public static AM_FlagCell FlagCell;
1903
1904 // Token: 0x040008CE RID: 2254
1905 public static ActionMode LastBuildMode;
1906
1907 // Token: 0x040008CF RID: 2255
1908 public static SourceMaterial.Row lastEditorMat;
1909
1910 // Token: 0x040008D0 RID: 2256
1911 public static bool ignoreSound;
1912
1913 // Token: 0x040008D1 RID: 2257
1914 private static float smoothX = 0f;
1915
1916 // Token: 0x040008D2 RID: 2258
1917 private static float smoothY = 0f;
1918
1919 // Token: 0x040008D3 RID: 2259
1920 private static float textTimer = 0f;
1921
1922 // Token: 0x040008D4 RID: 2260
1923 protected static Vector3 mpos;
1924
1925 // Token: 0x040008D5 RID: 2261
1926 public static float[] GameSpeeds = new float[]
1927 {
1928 0f,
1929 1f,
1930 2f,
1931 5f
1932 };
1933
1934 // Token: 0x040008D6 RID: 2262
1935 public static List<TCSimpleText> simpleTexts = new List<TCSimpleText>();
1936
1937 // Token: 0x040008D7 RID: 2263
1938 public Layer layer;
1939
1940 // Token: 0x040008D8 RID: 2264
1941 public int brushRadius = 4;
1942
1943 // Token: 0x040008D9 RID: 2265
1944 private static float focusTimer;
1945
1946 // Token: 0x040008DA RID: 2266
1947 private static float hotElementTimer;
1948}
Definition ACT.cs:6
Definition Card.cs:13
Definition Cell.cs:10
Definition Chara.cs:12
Definition Msg.cs:7
Definition Point.cs:11
Definition Scene.cs:10
Definition Thing.cs:10