DayZ 1.29
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 = g_Game.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}
DayZGame g_Game
Определения DayZGame.c:3942
Icon x
Icon y
Определения 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:657
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения CachedEquipmentStorage.c:4
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'.