DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PlayerListEntryScriptedWidget.c
См. документацию.
1class PlayerListEntryScriptedWidget extends ScriptedWidgetEventHandler
2{
3 protected string m_Name;
4 protected string m_UID;
5 protected bool m_Mute;
6 protected bool m_GlobalMute;
7
8 protected Widget m_Root;
10 protected ImageWidget m_PlayerAvatar;
11 protected ImageWidget m_MicrophoneIcon;
12 protected ImageWidget m_MuteIcon;
13 protected ButtonWidget m_PlayerButton;
14
16 protected bool m_Selected;
17
18 void PlayerListEntryScriptedWidget( Widget parent, string name, string uid, bool show_permissions, PlayerListScriptedWidget tab )
19 {
20 m_Name = name;
21 m_UID = uid;
22 m_Tab = tab;
23
24 m_Root = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/xbox/ingamemenu_xbox/player_info_entry.layout", parent );
25 m_PlayerName = TextWidget.Cast( m_Root.FindAnyWidget( "Name" ) );
26 m_PlayerAvatar = ImageWidget.Cast( m_Root.FindAnyWidget( "Avatar" ) );
27 m_MicrophoneIcon = ImageWidget.Cast( m_Root.FindAnyWidget( "Microphone" ) );
28 m_MuteIcon = ImageWidget.Cast( m_Root.FindAnyWidget( "Muted" ) );
29 m_PlayerButton = ButtonWidget.Cast( m_Root.FindAnyWidget( "Button" ) );
30
31 m_MicrophoneIcon.Show( show_permissions && !IsLocalPlayer() );
32
33 m_PlayerName.SetText( name );
34 m_Root.SetHandler( this );
35 }
36
38 {
39 delete m_Root;
40 }
41
43 {
44 return m_PlayerButton;
45 }
46
48 {
49 foreach ( BiosPrivacyPermissionResult result : results )
50 {
51 if ( result.m_Permission == EBiosPrivacyPermission.COMMUNICATE_VOICE )
52 {
53 m_GlobalMute = !result.m_IsAllowed;
54 if ( result.m_IsAllowed && !m_Mute )
55 {
56 m_MuteIcon.Show( false );
57 }
58 else if ( !result.m_IsAllowed || m_Mute )
59 {
60 m_MuteIcon.Show( true );
61 }
62 }
63 }
64 }
65
66 string GetUID()
67 {
68 return m_UID;
69 }
70
71 bool IsMuted()
72 {
73 return m_Mute;
74 }
75
77 {
78 return m_GlobalMute;
79 }
80
81 void SetMute( bool mute )
82 {
83 m_Mute = mute;
84 m_MuteIcon.Show( mute );
85 }
86
88 {
89 if( !IsLocalPlayer() && !GetGame().GetWorld().IsDisabledReceivingVoN() )
90 {
91 m_Mute = !m_Mute;
93 {
95 m_MuteIcon.Show( m_Mute );
96 }
97 else
98 {
99 m_MuteIcon.Show( true );
100 }
101 }
102 else
103 {
104 m_MicrophoneIcon.Show( false );
105 m_MuteIcon.Show( false );
106 }
107 }
108
109 override bool OnMouseEnter( Widget w, int x, int y )
110 {
111 if( !m_Selected )
112 {
113 #ifdef PLATFORM_CONSOLE
114 if( w == m_PlayerButton )
115 {
116 Select();
118 }
119 #endif
120 return true;
121 }
122 return false;
123 }
124
125 override bool OnMouseLeave( Widget w, Widget enterW, int x, int y )
126 {
127 #ifdef PLATFORM_CONSOLE
128 if( w == m_PlayerButton )
129 {
130 Deselect();
131 return true;
132 }
133 #endif
134 return false;
135 }
136
137 void Focus()
138 {
140 }
141
142 override bool OnFocus( Widget w, int x, int y )
143 {
144 if( !m_Selected )
145 {
146 #ifdef PLATFORM_CONSOLE
147 if( w == m_PlayerButton )
148 {
149 Select();
150 }
151 #endif
152 return true;
153 }
154 return false;
155 }
156
157 override bool OnFocusLost( Widget w, int x, int y )
158 {
159 #ifdef PLATFORM_CONSOLE
160 if( w == m_PlayerButton )
161 {
162 Deselect();
163 }
164 #endif
165 return false;
166 }
167
168 override bool OnDoubleClick( Widget w, int x, int y, int button )
169 {
170 if( button == MouseState.LEFT && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() )
171 {
172 if( !IsLocalPlayer() )
173 {
175 }
176 }
177 return false;
178 }
179
180 override bool OnMouseButtonUp( Widget w, int x, int y, int button )
181 {
182 if( button == MouseState.LEFT && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() )
183 {
184 if( w == m_MicrophoneIcon && !m_GlobalMute )
185 {
186 ToggleMute();
187 return true;
188 }
189 }
190 return false;
191 }
192
194 {
195 string local_uid;
196 if( GetGame().GetUserManager() )
197 {
199 }
200 return false;
201 }
202
203 void Select( bool notify = true )
204 {
205 if( !m_Selected )
206 {
207 if( notify )
208 {
209 m_Tab.SelectPlayer( this );
210 }
211 m_Selected = true;
212 }
213 }
214
215 void Deselect()
216 {
217 if( m_Selected )
218 {
219 m_Selected = false;
220 }
221 }
222}
EBiosPrivacyPermission
EBiosPrivacyPermission represents possible privacy permissions.
Определения BiosPrivacyService.c:6
array< ref BiosPrivacyPermissionResult > BiosPrivacyPermissionResultArray
Определения BiosPrivacyService.c:39
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Icon x
Icon y
BiosPrivacyPermissionResult represents the per permission result of the GetPermissionsAsync reqeust.
Определения BiosPrivacyService.c:28
proto native owned string GetUid()
proto native BiosUser GetSelectedUser()
Returns the currently selected user.
proto native BiosUserManager GetUserManager()
proto native WorkspaceWidget GetWorkspace()
static void ShowUserProfile(string uid)
Определения OnlineServices.c:247
static bool MutePlayer(string id, bool mute)
Определения OnlineServices.c:366
Определения OnlineServices.c:2
proto static native bool CanStoreInputUserData()
Returns true when the channel is free, AND the InputBuffer is NOT full (same as '!...
Определения gameplay.c:121
void Select(bool notify=true)
void SetMute(bool mute)
Определения PlayerListEntryScriptedWidget.c:81
PlayerListScriptedWidget m_Tab
Определения PlayerListEntryScriptedWidget.c:15
void PlayerListScriptedWidget(Widget parent, string header_text="")
Определения PlayerListScriptedWidget.c:11
override bool OnFocusLost(Widget w, int x, int y)
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
override bool OnDoubleClick(Widget w, int x, int y, int button)
void Select()
Определения CTEvent.c:123
Widget m_Root
Определения SizeToChild.c:9
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
void LoadPermissions(BiosPrivacyPermissionResultArray results)
Определения PlayerListEntryScriptedWidget.c:47
void PlayerListEntryScriptedWidget(Widget parent, string name, string uid, bool show_permissions, PlayerListScriptedWidget tab)
Определения PlayerListEntryScriptedWidget.c:18
override bool OnFocus(Widget w, int x, int y)
override bool OnMouseEnter(Widget w, int x, int y)
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:220
Определения EnWidgets.c:190
proto native CGame GetGame()
MouseState
Определения EnSystem.c:311
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.
proto native void SetFocus(Widget w)