Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LayerWidget.cs
Go to the documentation of this file.
1using System.Linq;
2
3public class LayerWidget : ELayer
4{
5 public static LayerWidget Instance;
6
7 public UIList list;
8
9 public UIList list2;
10
11 public override void OnInit()
12 {
13 ELayer.ui.HideFloats();
14 WidgetManager widgets = ELayer.ui.widgets;
15 Instance = this;
16 UIList uIList = list;
17 UIList uIList2 = list2;
19 {
20 onClick = delegate
21 {
22 },
23 onInstantiate = delegate(Widget.Config a, ItemWidget b)
24 {
25 b.buttonActivate.mainText.text = Lang.Get("Widget" + a.id);
26 b.buttonActivate.subText.SetActive(a.IsSystem);
27 b.buttonActivate.onClick.AddListener(delegate
28 {
29 if (a.IsSealed)
30 {
31 SE.Beep();
32 }
33 else
34 {
35 if (a.id == "QuestTracker")
36 {
37 if (ELayer.ui.widgets.GetWidget("QuestTracker") != null)
38 {
39 ELayer.player.questTracker = false;
40 }
41 else
42 {
43 ELayer.player.questTracker = true;
44 }
45 WidgetHotbar.RefreshButtons();
46 }
47 widgets.Toggle(a)?.SoundActivate();
48 Refresh();
49 }
50 });
51 b.buttonLock.onClick.AddListener(delegate
52 {
53 widgets.ToggleLock(a);
54 Refresh();
55 });
56 b.config = a;
57 },
58 onRefresh = Refresh
59 };
60 UIList.ICallback callbacks = obj;
61 uIList2.callbacks = obj;
62 uIList.callbacks = callbacks;
63 foreach (Widget.Meta widgetMeta in ELayer.setting.ui.widgetMetas)
64 {
65 Widget.Config config = widgets.configs[widgetMeta.id];
66 if (config.IsInRightMode() && !widgetMeta.debugOnly)
67 {
68 if (config.id.Contains("Hotbar"))
69 {
71 }
72 else
73 {
75 }
76 }
77 }
78 list.Refresh();
79 list2.Refresh();
80 foreach (Widget item in widgets.list)
81 {
82 item.OnManagerActivate();
83 }
84 windows[0].AddBottomSpace();
85 windows[0].AddBottomButton("resetWidget", delegate
86 {
87 Dialog.YesNo("dialogResetWidget", delegate
88 {
89 Close();
91 ELayer.ui.widgets.Reset(toggleTheme: false);
92 ELayer.ui.AddLayer<LayerWidget>();
93 });
94 });
95 windows[0].AddBottomButton("loadTheme", delegate
96 {
97 widgets.DialogLoad(delegate
98 {
99 Close();
100 ELayer.ui.AddLayer<LayerWidget>();
101 });
102 });
103 windows[0].AddBottomButton("saveTheme", delegate
104 {
105 widgets.DialogSave(delegate
106 {
107 Dialog.Ok("dialogSaveTheme");
108 });
109 });
110 }
111
112 public override void OnUpdateInput()
113 {
115 {
116 Widget componentOf = InputModuleEX.GetComponentOf<Widget>();
117 if ((bool)componentOf)
118 {
119 componentOf.ShowContextMenu();
120 }
121 }
122 }
123
124 public void Refresh()
125 {
126 foreach (UIList.ButtonPair item in list.buttons.Concat(list2.buttons))
127 {
128 ItemWidget itemWidget = item.component as ItemWidget;
129 itemWidget.imageLock.SetActive(itemWidget.config.locked);
130 itemWidget.imageActive.SetActive(itemWidget.config.state == Widget.State.Active);
131 itemWidget.buttonLock.mainText.text = Lang.Get(itemWidget.config.locked ? "unlockWidget" : "lockWidget");
132 }
133 }
134
135 public override void OnKill()
136 {
137 foreach (Widget item in ELayer.ui.widgets.list)
138 {
139 item.OnManagerDeactivate();
140 }
141 ELayer.ui.ShowFloats();
142 }
143}
bool dragging
Definition: ButtonState.cs:43
bool clicked
Definition: ButtonState.cs:37
Definition: Dialog.cs:7
static Dialog YesNo(string langDetail, Action actionYes, Action actionNo=null, string langYes="yes", string langNo="no")
Definition: Dialog.cs:244
static Dialog Ok(string langDetail, Action action=null)
Definition: Dialog.cs:222
Definition: EInput.cs:8
static ButtonState leftMouse
Definition: EInput.cs:349
Definition: ELayer.cs:4
static Player player
Definition: ELayer.cs:13
static CoreConfig config
Definition: ELayer.cs:31
static GameSetting setting
Definition: ELayer.cs:33
static UI ui
Definition: ELayer.cs:21
List< Widget.Meta > widgetMetas
Definition: GameSetting.cs:26
UISetting ui
Definition: GameSetting.cs:307
Image imageLock
Definition: ItemWidget.cs:13
UIButton buttonActivate
Definition: ItemWidget.cs:5
Widget.Config config
Definition: ItemWidget.cs:15
Image imageActive
Definition: ItemWidget.cs:11
UIButton buttonLock
Definition: ItemWidget.cs:9
Definition: Lang.cs:6
static string Get(string id)
Definition: Lang.cs:91
override void OnUpdateInput()
Definition: LayerWidget.cs:112
override void OnInit()
Definition: LayerWidget.cs:11
void Refresh()
Definition: LayerWidget.cs:124
static LayerWidget Instance
Definition: LayerWidget.cs:5
UIList list
Definition: LayerWidget.cs:7
override void OnKill()
Definition: LayerWidget.cs:135
UIList list2
Definition: LayerWidget.cs:9
List< Window > windows
Definition: Layer.cs:116
virtual void Close()
Definition: Layer.cs:463
bool useSubWidgetTheme
Definition: Player.cs:781
UIText subText
Definition: UIButton.cs:104
Definition: UIList.cs:9
List< ButtonPair > buttons
Definition: UIList.cs:244
override void Add(object item)
Definition: UIList.cs:302
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:424
void ToggleLock(Widget.Config c)
Widget Toggle(string id)
Definition: Widget.cs:7
void ShowContextMenu()
Definition: Widget.cs:601
State
Definition: Widget.cs:141
void SoundActivate()
Definition: Widget.cs:728