DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ModsMenuSimpleEntry.c
См. документацию.
1class ModsMenuSimpleEntry extends ScriptedWidgetEventHandler
2{
3 protected ButtonWidget m_ModButton;
4 protected ImageWidget m_Icon;
5 protected Widget m_Hover;
6
7 protected bool m_HasLogoOver;
8 protected ModInfo m_Data;
10
11 void ModsMenuSimpleEntry(ModInfo data, int index, Widget parent, ModsMenuSimple parent_menu)
12 {
13 m_ModButton = ButtonWidget.Cast(GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/mods_menu/mods_menu_simple_entry.layout", parent));
14 m_Icon = ImageWidget.Cast(m_ModButton.FindAnyWidget("Icon"));
15 m_Hover = m_ModButton.FindAnyWidget("Overlay");
16 m_Data = data;
17 m_ParentMenu = parent_menu;
18
19 m_ModButton.SetSort(index);
20 m_ModButton.SetHandler(this);
21
22 LoadData();
23 }
24
26 {
27 delete m_ModButton;
28 }
29
30 void LoadData()
31 {
32 string logo = m_Data.GetLogo();
33 string logo_over = m_Data.GetLogoOver();
34
35 if (logo != "")
36 {
37 m_Icon.LoadImageFile(0, logo);
38 }
39 else
40 {
41 m_Icon.LoadImageFile(0, ModInfo.DEFAULT_LOGO);
42 }
43
44 if (logo_over != "")
45 {
46 m_Icon.LoadImageFile(1, logo_over);
47 }
48 else
49 {
50 m_Icon.LoadImageFile(1, ModInfo.DEFAULT_LOGO_OVER);
51 }
52 m_HasLogoOver = true;
53 }
54
55 override bool OnClick(Widget w, int x, int y, int button)
56 {
57 if( w == m_ModButton )
58 {
59 m_ParentMenu.Select( m_Data );
60 return true;
61 }
62 return false;
63 }
64
65 override bool OnMouseEnter(Widget w, int x, int y)
66 {
67 if( w == m_ModButton )
68 {
69 if( m_HasLogoOver )
70 m_Icon.SetImage( 1 );
71 m_Hover.Show( true );
72 return true;
73 }
74 return false;
75 }
76
77 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
78 {
79 if( enterW != m_ModButton )
80 {
81 if( m_HasLogoOver )
82 m_Icon.SetImage( 0 );
83 m_Hover.Show( false );
84 return true;
85 }
86 return false;
87 }
88
89 override bool OnFocus( Widget w, int x, int y )
90 {
91 if( w == m_ModButton )
92 {
93 if( m_HasLogoOver )
94 m_Icon.SetImage( 1 );
95 m_Hover.Show( true );
96 return true;
97 }
98 return false;
99 }
100
101 override bool OnFocusLost( Widget w, int x, int y )
102 {
103 if( w == m_ModButton )
104 {
105 if( m_HasLogoOver )
106 m_Icon.SetImage( 0 );
107 m_Hover.Show( false );
108 return true;
109 }
110 return false;
111 }
112}
Icon x
Icon y
static const string DEFAULT_LOGO
Определения ModInfo.c:19
static const string DEFAULT_LOGO_OVER
Определения ModInfo.c:21
Определения ModInfo.c:2
ImageWidget m_Icon
Определения ModsMenuSimpleEntry.c:4
override bool OnFocusLost(Widget w, int x, int y)
Определения ModsMenuSimpleEntry.c:101
void ModsMenuSimple(array< ref ModInfo > data, Widget parent, ModsMenuDetailed detail_menu)
Определения ModsMenuSimple.c:11
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Определения ModsMenuSimpleEntry.c:77
override bool OnClick(Widget w, int x, int y, int button)
Определения ModsMenuSimpleEntry.c:55
void ~ModsMenuSimpleEntry()
Определения ModsMenuSimpleEntry.c:25
void ModsMenuSimpleEntry(ModInfo data, int index, Widget parent, ModsMenuSimple parent_menu)
Определения ModsMenuSimpleEntry.c:11
override bool OnFocus(Widget w, int x, int y)
Определения ModsMenuSimpleEntry.c:89
override bool OnMouseEnter(Widget w, int x, int y)
Определения ModsMenuSimpleEntry.c:65
ref map< ref ModInfo, ref ModsMenuDetailedEntry > m_Data
Определения ModsMenuDetailed.c:7
ButtonWidget m_ModButton
Определения ModsMenuSimpleEntry.c:3
ModsMenuDetailed m_ParentMenu
Определения ModsMenuDetailedEntry.c:22
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:190
proto native CGame GetGame()