Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LayerQuickMenu.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public class LayerQuickMenu : ELayer
4{
6
7 public Vector2 oriPos;
8
9 public float closeDist;
10
11 public override void OnInit()
12 {
13 QuickMenu quickMenu = new QuickMenu();
14 quickMenu.Build();
15 for (int i = 0; i < quickMenu.items.Count; i++)
16 {
17 QuickMenu.Item item = quickMenu.items[i];
18 UIButton uIButton = radial.AddOption(SpriteSheet.Get("icon_" + item.id), delegate
19 {
20 if (item.action != null)
21 {
22 item.action();
23 Close();
24 }
25 else
26 {
27 HotItemActionMode.Execute(item.id);
28 }
29 });
30 if (item.id.IsEmpty())
31 {
32 uIButton.icon.SetActive(enable: false);
33 uIButton.image.enabled = false;
34 }
35 else
36 {
37 uIButton.icon.enabled = uIButton.icon.sprite;
38 uIButton.tooltip.text = item.id.lang();
39 }
40 }
41 radial.transform.position = (oriPos = EInput.mpos);
42 radial.Init();
43 }
44
45 public override void OnUpdateInput()
46 {
47 if (Vector2.Distance(EInput.mpos, oriPos) > closeDist)
48 {
49 Close();
50 return;
51 }
52 if (Input.GetMouseButtonDown(0))
53 {
54 if (!InputModuleEX.IsPointerOver(base.transform))
55 {
56 Close();
57 return;
58 }
59 }
60 else if (!Application.isEditor && Input.anyKeyDown)
61 {
62 Close();
63 return;
64 }
66 }
67}
UIButton AddOption(Sprite sprite, Action action=null)
Definition: EInput.cs:8
static void ConsumeWheel()
Definition: EInput.cs:683
static Vector3 mpos
Definition: EInput.cs:337
Definition: ELayer.cs:4
static bool IsPointerOver(Component c)
CircularRadialButton radial
override void OnUpdateInput()
override void OnInit()
List< Item > items
Definition: QuickMenu.cs:20
void Build()
Definition: QuickMenu.cs:22
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
Image icon
Definition: UIButton.cs:110