Elin Decompiled Documentation EA 23.295 Stable Patch 2
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 void AddHeader(string idLang, Sprite sprite = null)
55 {
56 Init();
57 Util.Instantiate<Transform>("UI/Window/Base/Element/Header WindowMenu2", layout).GetComponentInChildren<UIText>().text = idLang.lang();
58 }
59
60 public void AddSpace(float height = 30f)
61 {
62 RectTransform rectTransform = new GameObject().AddComponent<RectTransform>();
63 rectTransform.sizeDelta = new Vector2(1f, height);
64 rectTransform.SetParent(layout.transform);
65 }
66
67 public UIButton AddButton(string idLang, Action<UIButton> onClick, Sprite sprite = null, string idButton = "Default")
68 {
69 Init();
70 UIButton b = _AddButton(idButton, sprite);
71 b.onClick.AddListener(delegate
72 {
73 onClick(b);
74 });
75 b.mainText.text = idLang.lang();
76 if ((bool)header)
77 {
78 header.SetActive(enable: true);
79 }
80 return b;
81 }
82
83 public UIButton AddButtonSimple(Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "Simple")
84 {
85 Init();
86 UIButton b = _AddButton(idButton, sprite);
87 b.onClick.AddListener(delegate
88 {
89 onClick?.Invoke(b);
90 SE.Click();
91 if ((bool)b)
92 {
93 b.subText.text = funcText().lang();
94 }
95 });
96 b.subText.text = funcText().lang();
97 if ((bool)header)
98 {
99 header.SetActive(enable: true);
100 }
101 return b;
102 }
103
104 public UIButton AddButton2Line(string idLang, Func<string> funcText, Action<UIButton> onClick = null, Sprite sprite = null, string idButton = "2line")
105 {
106 Init();
107 UIButton b = _AddButton(idButton, sprite);
108 b.onClick.AddListener(delegate
109 {
110 onClick?.Invoke(b);
111 SE.Click();
112 if ((bool)b)
113 {
114 b.subText.text = funcText().lang();
115 }
116 });
117 b.mainText.text = idLang.lang();
118 b.subText.text = funcText().lang();
119 if ((bool)header)
120 {
121 header.SetActive(enable: true);
122 }
123 return b;
124 }
125
126 public UIButton _AddButton(string idButton, Sprite sprite)
127 {
128 Init();
129 UIButton uIButton = Util.Instantiate<UIButton>("UI/Window/Base/Element/ButtonWindowMenu_" + idButton, layout);
130 if ((bool)sprite)
131 {
132 uIButton.icon.sprite = sprite;
133 uIButton.icon.SetActive(enable: true);
134 }
135 if ((bool)header)
136 {
137 header.SetActive(enable: true);
138 }
139 return uIButton;
140 }
141
142 public UIItem AddItem(string idItem)
143 {
144 Init();
145 UIItem result = Util.Instantiate<UIItem>("UI/Window/Base/Element/ItemWindowMenu_" + idItem, layout);
146 if ((bool)header)
147 {
148 header.SetActive(enable: true);
149 }
150 return result;
151 }
152}
static SkinRootStatic CurrentSkin
Definition: SkinManager.cs:82
Positions positions
Image icon
Definition: UIButton.cs:110
Definition: UIItem.cs:5
LayoutGroup layout
Definition: WindowMenu.cs:11
Transform header
Definition: WindowMenu.cs:13
void Clear()
Definition: WindowMenu.cs:44
UIButton _AddButton(string idButton, Sprite sprite)
Definition: WindowMenu.cs:126
string id
Definition: WindowMenu.cs:7
void AddHeader(string idLang, Sprite sprite=null)
Definition: WindowMenu.cs:54
void AddSpace(float height=30f)
Definition: WindowMenu.cs:60
void Init()
Definition: WindowMenu.cs:29
UIButton AddButton(string idLang, Action< UIButton > onClick, Sprite sprite=null, string idButton="Default")
Definition: WindowMenu.cs:67
Window window
Definition: WindowMenu.cs:9
UIItem AddItem(string idItem)
Definition: WindowMenu.cs:142
UIButton AddButtonSimple(Func< string > funcText, Action< UIButton > onClick=null, Sprite sprite=null, string idButton="Simple")
Definition: WindowMenu.cs:83
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:104
WindowMenu(string _id, Window _window)
Definition: WindowMenu.cs:23
bool initialized
Definition: WindowMenu.cs:15
Definition: Window.cs:13