DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ModsMenuSimple.c
См. документацию.
1class ModsMenuSimple extends ScriptedWidgetEventHandler
2{
3 protected const int MOD_DISPLAY_COUNT_MAX = 3;
4
5 protected Widget m_Root;
10
12 {
13 m_Root = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/mods_menu/mods_menu_simple.layout", parent);
14 m_MoreButton = m_Root.FindAnyWidget("ModMore");
15 m_MoreHighlight = m_Root.FindAnyWidget("ModMoreOverlay");
17 m_DetailMenu = detail_menu;
18
19 m_Root.SetHandler(this);
20 LoadEntries(data);
21 }
22
24 {
25 delete m_Root;
26 }
27
29 {
30 m_MoreButton.Show(data.Count() > MOD_DISPLAY_COUNT_MAX);
31 int count = Math.Clamp(data.Count(),0,MOD_DISPLAY_COUNT_MAX);
32
33 for (int i = 0; i < count; i++)
34 {
35 ref ModsMenuSimpleEntry entry = new ModsMenuSimpleEntry(data[i], i, m_Root, this);
36 m_Data.Insert(data[i], entry);
37 }
38 }
39
40 void Select(ModInfo mod)
41 {
42 m_DetailMenu.Open();
43 m_DetailMenu.Highlight(mod);
44 }
45
46 override bool OnMouseButtonUp(Widget w, int x, int y, int button)
47 {
48 if (w == m_MoreButton)
49 {
50 if (m_DetailMenu.IsOpen())
51 m_DetailMenu.Close();
52 else
53 m_DetailMenu.Open();
54 return true;
55 }
56 return false;
57 }
58
59 override bool OnMouseEnter(Widget w, int x, int y)
60 {
61 if (w == m_MoreButton)
62 {
63 m_MoreHighlight.Show(true);
64 return true;
65 }
66 return false;
67 }
68
69 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
70 {
71 if (enterW != m_MoreButton)
72 {
73 m_MoreHighlight.Show(false);
74 return true;
75 }
76 return false;
77 }
78
79 override bool OnFocus(Widget w, int x, int y)
80 {
81 if (w == m_MoreButton)
82 {
83 m_MoreHighlight.Show(true);
84 return true;
85 }
86 return false;
87 }
88
89 override bool OnFocusLost(Widget w, int x, int y)
90 {
91 if (w == m_MoreButton)
92 {
93 m_MoreHighlight.Show(false);
94 return true;
95 }
96 return false;
97 }
98}
map
Определения ControlsXboxNew.c:4
Icon x
Icon y
proto native WorkspaceWidget GetWorkspace()
Определения EnMath.c:7
Определения ModInfo.c:2
override bool OnFocusLost(Widget w, int x, int y)
Определения ModsMenuSimple.c:89
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Определения ModsMenuSimple.c:46
Widget m_Root
Определения SizeToChild.c:9
Widget m_MoreButton
Определения ModsMenuSimple.c:6
ModsMenuDetailed m_DetailMenu
Определения ModsMenuSimple.c:9
Widget m_MoreHighlight
Определения ModsMenuSimple.c:7
void ModsMenuSimple(array< ref ModInfo > data, Widget parent, ModsMenuDetailed detail_menu)
Определения ModsMenuSimple.c:11
void Select(ModInfo mod)
Определения ModsMenuSimple.c:40
const int MOD_DISPLAY_COUNT_MAX
Определения ModsMenuSimple.c:3
void ~ModsMenuSimple()
Определения ModsMenuSimple.c:23
void LoadEntries(array< ref ModInfo > data)
Определения ModsMenuDetailed.c:168
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Определения ModsMenuSimple.c:69
void ModsMenuSimpleEntry(ModInfo data, int index, Widget parent, ModsMenuSimple parent_menu)
Определения ModsMenuSimpleEntry.c:11
override bool OnFocus(Widget w, int x, int y)
Определения ModsMenuSimple.c:79
override bool OnMouseEnter(Widget w, int x, int y)
Определения ModsMenuSimple.c:59
ref map< ref ModInfo, ref ModsMenuDetailedEntry > m_Data
Определения ModsMenuDetailed.c:7
void ModsMenuDetailed(array< ref ModInfo > data, Widget parent, ModsMenuTooltip tooltip, UIScriptedMenu menu_parent)
Определения ModsMenuDetailed.c:17
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.