Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
WindowMenu.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
5public class WindowMenu
6{
7 public string id;
8
9 public Window window;
10
11 public LayoutGroup layout;
12
13 public Transform header;
14
15 private bool initialized;
16
17 public WindowMenu(LayoutGroup _layout)
18 {
19 layout = _layout;
20 initialized = true;
21 }
22
23 public WindowMenu(string _id, Window _window)
24 {
25 id = _id;
26 window = _window;
27 }
28
29 public void Init()
30 {
31 if (!initialized)
32 {
33 layout = Util.Instantiate<LayoutGroup>("UI/Window/Base/Element/WindowMenu" + id, window);
34 header = layout.transform.Find("header");
35 initialized = true;
37 if (id == "Left")
38 {
39 layout.Rect().anchoredPosition = currentSkin.positions.leftMenu;
40 }
41 }
42 }
43
44 public void Clear()
45 {
46 Init();
47 layout.DestroyChildren();
48 if ((bool)header)
49 {
50 header.SetActive(enable: false);
51 }
52 }
53
54 public UIButton AddButton(string idLang, Action<UIButton> onClick, Sprite sprite = null, string idButton = "Default")
55 {
56 Init();
57 UIButton b = _AddButton(idButton, sprite, onClick);
58 b.onClick.AddListener(delegate
59 {
60 onClick(b);
61 });
62 b.mainText.text = idLang.lang();
63 if ((bool)header)
64 {
65 header.SetActive(enable: true);
66 }
67 return b;
68 }
69
70 public UIButton AddButtonSimple(Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "Simple")
71 {
72 Init();
73 UIButton b = _AddButton(idButton, sprite, onClick);
74 b.onClick.AddListener(delegate
75 {
76 onClick?.Invoke(b);
77 SE.Click();
78 if ((bool)b)
79 {
80 b.subText.text = funcText().lang();
81 }
82 });
83 b.subText.text = funcText().lang();
84 if ((bool)header)
85 {
86 header.SetActive(enable: true);
87 }
88 return b;
89 }
90
91 public UIButton AddButton2Line(string idLang, Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "2line")
92 {
93 Init();
94 UIButton b = _AddButton(idButton, sprite, onClick);
95 b.onClick.AddListener(delegate
96 {
97 onClick?.Invoke(b);
98 SE.Click();
99 if ((bool)b)
100 {
101 b.subText.text = funcText().lang();
102 }
103 });
104 b.mainText.text = idLang.lang();
105 b.subText.text = funcText().lang();
106 if ((bool)header)
107 {
108 header.SetActive(enable: true);
109 }
110 return b;
111 }
112
113 public UIButton _AddButton(string idButton, Sprite sprite, Action<UIButton> onClick)
114 {
115 Init();
116 UIButton uIButton = Util.Instantiate<UIButton>("UI/Window/Base/Element/ButtonWindowMenu_" + idButton, layout);
117 if ((bool)sprite)
118 {
119 uIButton.icon.sprite = sprite;
120 uIButton.icon.SetActive(enable: true);
121 }
122 if ((bool)header)
123 {
124 header.SetActive(enable: true);
125 }
126 return uIButton;
127 }
128}
static SkinRootStatic CurrentSkin
Definition: SkinManager.cs:82
Positions positions
Image icon
Definition: UIButton.cs:110
LayoutGroup layout
Definition: WindowMenu.cs:11
UIButton _AddButton(string idButton, Sprite sprite, Action< UIButton > onClick)
Definition: WindowMenu.cs:113
Transform header
Definition: WindowMenu.cs:13
void Clear()
Definition: WindowMenu.cs:44
string id
Definition: WindowMenu.cs:7
void Init()
Definition: WindowMenu.cs:29
UIButton AddButton(string idLang, Action< UIButton > onClick, Sprite sprite=null, string idButton="Default")
Definition: WindowMenu.cs:54
Window window
Definition: WindowMenu.cs:9
UIButton AddButtonSimple(Func< string > funcText, Action< UIButton > onClick=null, Sprite sprite=null, string idButton="Simple")
Definition: WindowMenu.cs:70
WindowMenu(LayoutGroup _layout)
Definition: WindowMenu.cs:17
UIButton AddButton2Line(string idLang, Func< string > funcText, Action< UIButton > onClick=null, Sprite sprite=null, string idButton="2line")
Definition: WindowMenu.cs:91
WindowMenu(string _id, Window _window)
Definition: WindowMenu.cs:23
bool initialized
Definition: WindowMenu.cs:15
Definition: Window.cs:13