Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ActionHint.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
5public class ActionHint : EMono
6{
7 public Transform extra;
8
9 public LayoutGroup layoutDynamic;
10
12
14
16
18
20
22
24
26
27 public Image iconNerun;
28
29 public CanvasGroup cg;
30
31 [NonSerialized]
32 public bool dynamic;
33
35
36 private Vector3 oriPos;
37
38 private string lastText;
39
41
43
44 private void Awake()
45 {
46 moldDynamic = layoutDynamic.CreateMold<UIButton>();
47 oriPos = this.Rect().anchoredPosition;
48 }
49
50 public void Refresh()
51 {
52 if (mode == null)
53 {
54 return;
55 }
56 bool flag = EMono.core.IsGameStarted && mode.ShowActionHint;
57 base.gameObject.SetActive(flag);
58 if (!flag)
59 {
60 return;
61 }
62 extra.SetActive(enable: true);
63 bool digRamp = mode == ActionMode.Dig && ActionMode.Dig.mode == TaskDig.Mode.Ramp;
64 bool mineRamp = mode == ActionMode.Mine && ActionMode.Mine.mode == TaskMine.Mode.Ramp;
65 groupRadio.SetActive(digRamp || mineRamp);
66 if (digRamp || mineRamp)
67 {
68 groupRadio.Init(0, delegate(int a)
69 {
70 if (digRamp)
71 {
72 if (a == 0)
73 {
74 ActionMode.Dig.ramp = 3;
75 }
76 if (a == 1)
77 {
78 ActionMode.Dig.ramp = 4;
79 }
80 if (a == 2)
81 {
82 ActionMode.Dig.ramp = 5;
83 }
85 }
86 if (mineRamp)
87 {
88 if (a == 0)
89 {
90 ActionMode.Mine.ramp = 3;
91 }
92 if (a == 1)
93 {
94 ActionMode.Mine.ramp = 4;
95 }
96 if (a == 2)
97 {
98 ActionMode.Mine.ramp = 5;
99 }
101 }
102 });
103 groupRadio.ToggleInteractable(enable: true);
104 }
105 dynamic = false;
106 layoutDynamic.DestroyChildren();
107 groupToggle.SetActive(dynamic);
108 UpdateText();
109 }
110
111 public void AddToggle(string lang, bool on, Action<bool> action)
112 {
113 UIButton uIButton = Util.Instantiate(moldDynamic, layoutDynamic);
114 uIButton.mainText.SetText(lang.lang());
115 uIButton.SetToggle(on, action);
116 dynamic = true;
117 }
118
119 public void UpdateText()
120 {
121 string hintText = mode.GetHintText();
122 base.gameObject.SetActive(EMono.scene.actionMode.ShowActionHint && !hintText.IsEmpty());
123 SetText(hintText);
125 buttonPick.SetOnClick(delegate
126 {
128 });
129 }
130
131 public void Show(string lang, bool icon = true)
132 {
133 string text = lang.lang();
134 bool anime = text != lastText || !base.gameObject.activeSelf;
135 lastText = text;
136 iconNerun.SetActive(enable: false);
137 base.gameObject.SetActive(value: true);
138 buttonPick.SetActive(enable: false);
139 extra.SetActive(enable: false);
140 SetText(text, anime);
141 }
142
143 public void SetText(string s, bool anime = false)
144 {
145 this.Rect().anchoredPosition = oriPos;
147 this.RebuildLayout();
148 if (anime)
149 {
150 animePop.Play(base.transform);
151 }
152 }
153}
override void OnCreateMold(bool processing=false)
Definition: AM_Dig.cs:51
override void OnCreateMold(bool processing=false)
Definition: AM_Mine.cs:66
void SetText(string s, bool anime=false)
Definition: ActionHint.cs:143
UIButton moldDynamic
Definition: ActionHint.cs:34
Image iconNerun
Definition: ActionHint.cs:27
void Awake()
Definition: ActionHint.cs:44
bool dynamic
Definition: ActionHint.cs:32
UISelectableGroup groupToggle
Definition: ActionHint.cs:23
UISelectableGroup groupRadio
Definition: ActionHint.cs:21
UIButton buttonPick
Definition: ActionHint.cs:15
ActionMode mode
Definition: ActionHint.cs:40
UIButton buttonSavePartialMap
Definition: ActionHint.cs:17
void Show(string lang, bool icon=true)
Definition: ActionHint.cs:131
UIText textDetail
Definition: ActionHint.cs:13
Anime animePop
Definition: ActionHint.cs:25
CanvasGroup cg
Definition: ActionHint.cs:29
Vector3 oriPos
Definition: ActionHint.cs:36
void AddToggle(string lang, bool on, Action< bool > action)
Definition: ActionHint.cs:111
string lastText
Definition: ActionHint.cs:38
BaseTileSelector ts
Definition: ActionHint.cs:42
void UpdateText()
Definition: ActionHint.cs:119
UIText textTitle
Definition: ActionHint.cs:11
UIButton buttonDeletePartialMap
Definition: ActionHint.cs:19
LayoutGroup layoutDynamic
Definition: ActionHint.cs:9
Transform extra
Definition: ActionHint.cs:7
void Refresh()
Definition: ActionHint.cs:50
static AM_Inspect Inspect
Definition: ActionMode.cs:23
virtual bool ShowActionHint
Definition: ActionMode.cs:165
static AM_Dig Dig
Definition: ActionMode.cs:35
virtual string GetHintText()
Definition: ActionMode.cs:1387
static AM_Mine Mine
Definition: ActionMode.cs:33
Definition: Anime.cs:6
virtual Tween Play(Transform trans, UnityAction onComplete=null, float duration=-1f, float delay=0f)
Definition: Anime.cs:7
BaseTileSelector tileSelector
Definition: EMono.cs:4
static BaseGameScreen screen
Definition: EMono.cs:29
static Scene scene
Definition: EMono.cs:27
ActionMode actionMode
Definition: Scene.cs:77
Mode
Definition: TaskDig.cs:4
UIText mainText
Definition: UIButton.cs:102
void SetToggle(bool isOn, Action< bool > onToggle=null)
Definition: UIButton.cs:341
virtual void Init(int index=0, UnityAction< int > action=null, bool directChildren=false)
void ToggleInteractable(bool enable)
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:159