DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл HudDebugWinCharModifiers.c

См. исходные тексты.

Структуры данных

class  DebugModifierData
 

Функции

void HudDebugWinCharModifiers (Widget widget_root)
 
void ~HudDebugWinCharModifiers ()
 
override int GetType ()
 
override void SetUpdate (bool state)
 
override void Update ()
 
override void Show ()
 
override void Hide ()
 
void Refresh ()
 
void FitWindow ()
 
void SetModifiers ()
 
void AddModifier (string name, int id, bool active, bool locked)
 
void ClearModifiers ()
 
bool OnClick (Widget w, int x, int y, int button)
 
void ResetModifiers ()
 
void RequestDetailedInfo (int id)
 
void ActivateModifier (int id)
 
void DeactivateModifier (int id)
 
void LockModifier (int id, bool state)
 

Переменные

class DebugModifierData m_WgtModifiersContent
 
ref array< ref Widgetm_ModifierWidgets
 
ref map< Widget, ref DebugModifierDatam_ModifierWidgetData
 
PluginDeveloperSync m_PluginDeveloperSync
 
Widget m_WgtDetailedInfo
 
TextWidget m_WgtDetailedInfoText
 
int m_DetailedInfoIndex
 

Функции

◆ ActivateModifier()

void ActivateModifier ( int id)
protected
363 {
364 //Disable update on server (PluginDeveloperSync)
366
367 //if client, send RPC
368 if ( GetGame().IsClient() )
369 {
370 ref Param1<int> params = new Param1<int>( id );
371 if ( player )
372 {
373 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_ACTIVATE, params, true );
374 }
375 }
376 //else set directly
377 else
378 {
379 m_PluginDeveloperSync.ActivateModifier( id );
380 }
381 }
ERPCs
Definition ERPCs.c:2
PluginDeveloperSync m_PluginDeveloperSync
Definition HudDebugWinCharModifiers.c:28
PlayerBase GetPlayer()
Definition ModifierBase.c:51
Definition EntityAI.c:95
Definition PlayerBaseClient.c:2
proto native CGame GetGame()

Перекрестные ссылки GetGame(), GetPlayer() и m_PluginDeveloperSync.

◆ AddModifier()

void AddModifier ( string name,
int id,
bool active,
bool locked )
protected
176 {
177 //create widget
178 Widget widget = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/debug/day_z_hud_debug_modifier.layout", m_WgtModifiersContent );
179
180 //add to widget array (for clearing purposes)
181 m_ModifierWidgets.Insert( widget );
182
183 //set widget name
184 ButtonWidget mod_name_text = ButtonWidget.Cast( widget.FindAnyWidget( "TextModifierName" ) );
185 mod_name_text.SetText( name );
186 if ( active )
187 {
188 mod_name_text.SetTextColor( ARGB( 255, 0, 255, 0 ) );
189 }
190 else
191 {
192 mod_name_text.SetTextColor( ARGB( 255, 255, 0, 0 ) );
193 }
194
195 //set set data for interactive parts (modifier ID should be enough)
197
198 Widget modifier_button = widget.FindAnyWidget( "TextModifierName" );
200 //Activate button
201 Widget activate_button = widget.FindAnyWidget( "ButtonModifierActivate" );
203
204 //Deactivate button
205 Widget deactivate_button = widget.FindAnyWidget( "ButtonModifierDeactivate" );
207
208 //Lock checkbox
209 Widget checkbox_widget = widget.FindAnyWidget( "CheckBoxLock" );
211 //set lock based on checkbox value
213 checkbox.SetChecked( locked );
214
218 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
ref map< Widget, ref DebugModifierData > m_ModifierWidgetData
Definition HudDebugWinCharModifiers.c:27
class DebugModifierData m_WgtModifiersContent
ref array< ref Widget > m_ModifierWidgets
Definition HudDebugWinCharModifiers.c:26
Definition AutoHeightSpacer.c:3
Definition HudDebugWinCharModifiers.c:2
Definition EnWidgets.c:190
int ARGB(int a, int r, int g, int b)
Definition proto.c:322

Перекрестные ссылки ARGB(), GetGame(), m_ModifierWidgetData, m_ModifierWidgets, m_WgtModifiersContent и name.

◆ ClearModifiers()

void ClearModifiers ( )
protected
221 {
222 //clear widget data
223 m_ModifierWidgetData.Clear();
224
225 //destroy all modifier widgets
228
229 m_ModifierWidgets.Clear();
230 }

Перекрестные ссылки m_ModifierWidgetData и m_ModifierWidgets.

Используется в SetModifiers().

◆ DeactivateModifier()

void DeactivateModifier ( int id)
protected
384 {
385 //Disable update on server (PluginDeveloperSync)
387
388 //if client, send RPC
389 if ( GetGame().IsClient() )
390 {
391 ref Param1<int> params = new Param1<int>( id );
392 if ( player )
393 {
394 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_DEACTIVATE, params, true );
395 }
396 }
397 //else set directly
398 else
399 {
400 m_PluginDeveloperSync.DeactivateModifier( id );
401 }
402 }

Перекрестные ссылки GetGame(), GetPlayer() и m_PluginDeveloperSync.

◆ FitWindow()

void FitWindow ( )
protected
129 {
130 float title_size = 20;
131 float spacing = 20;
132
133 //get wgt content size values
134 float wgt_content_size_x;
135 float wgt_content_size_y;
137
138 //get wgt root size values
139 float wgt_root_size_x;
140 float wgt_root_size_y;
142
143 //calculate new Y size
145
146 //set size
148 }
Widget m_WgtRoot
Definition HudDebug.c:93

Перекрестные ссылки m_WgtModifiersContent и m_WgtRoot.

◆ GetType()

override int GetType ( )
protected
54 {
55 return HudDebug.HUD_WIN_CHAR_MODIFIERS;
56 }
void HudDebug()
Definition HudDebug.c:106

Перекрестные ссылки HudDebug().

◆ Hide()

override void Hide ( )
protected
106 {
107 super.Hide();
108
109 //Print("Hide()");
110
111 SetUpdate( false );
112 }
override void SetUpdate(bool state)
Definition HudDebugWinCharModifiers.c:61

Перекрестные ссылки HudDebugWinBase::SetUpdate().

◆ HudDebugWinCharModifiers()

void HudDebugWinCharModifiers ( Widget widget_root)
protected
37 {
39 m_WgtModifiersContent = Widget.Cast( m_WgtRoot.FindAnyWidget( "pnl_CharModifiers_Values" ) );
42 m_PluginDeveloperSync = PluginDeveloperSync.Cast( GetPlugin( PluginDeveloperSync ) );
43 }
PluginBase GetPlugin(typename plugin_type)
Definition PluginManager.c:316

Перекрестные ссылки GetPlugin(), m_ModifierWidgetData, m_ModifierWidgets, m_PluginDeveloperSync, m_WgtModifiersContent и m_WgtRoot.

Используется в Init().

◆ LockModifier()

void LockModifier ( int id,
bool state )
protected
405 {
406 //Disable update on server (PluginDeveloperSync)
408
409 //if client, send RPC
410 if ( GetGame().IsClient() )
411 {
413 if ( player )
414 {
415 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_LOCK, params, true );
416 }
417 }
418 //else set directly
419 else
420 {
421 m_PluginDeveloperSync.LockModifier( id, state );
422 }
423 }

Перекрестные ссылки GetGame(), GetPlayer() и m_PluginDeveloperSync.

Используется в OnClick().

◆ OnClick()

bool OnClick ( Widget w,
int x,
int y,
int button )
protected
236 {
237 if ( w )
238 {
239 if ( w.GetName() == "TextModifierName" )
240 {
241 //Print("clicked");
243
244 //Print( bc_data.GetID() );
245
246 if(bc_data.GetID() == m_DetailedInfoIndex)//repeated request --> hide
247 {
248 if(m_WgtDetailedInfo && m_WgtDetailedInfo.IsVisible())
249 {
250 m_WgtDetailedInfo.Show(false);
251 }
253 }
254 else
255 {
257 m_WgtDetailedInfo = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/debug/day_z_hud_debug_modifier_detailed.layout");
258 if(!m_WgtDetailedInfo.IsVisible())
259 {
260 m_WgtDetailedInfo.Show(true);
261 }
263 }
265 m_WgtDetailedInfoText.SetText("");
266 m_PluginDeveloperSync.m_PlayerModsDetailedSynced = "";
268 return true;
269 }
270 //Button activate
271 if ( w.GetName() == "ButtonModifierActivate" )
272 {
274
275 //activate
276 ActivateModifier( ba_data.GetID() );
277
278 //force update
279 m_PluginDeveloperSync.Update();
280
281 return true;
282 }
283 //Button deactivate
284 else if ( w.GetName() == "ButtonModifierDeactivate" )
285 {
287
288 //deactivate
289 DeactivateModifier( bd_data.GetID() );
290
291 //force update
292 m_PluginDeveloperSync.Update();
293
294 return true;
295 }
296 //Lock checkbox
297 else if ( w.GetName() == "CheckBoxLock" )
298 {
301
302 //set lock
303 LockModifier( lcb_data.GetID(), checkbox.IsChecked() );
304
305 //force update
306 m_PluginDeveloperSync.Update();
307
308 return true;
309 }
310 else if ( w.GetName() == "ResetModifiers" )
311 {
312
314 return true;
315 }
316 }
317
318 return false;
319 }
void DeactivateModifier(int id)
Definition HudDebugWinCharModifiers.c:383
void ActivateModifier(int id)
Definition HudDebugWinCharModifiers.c:362
void ResetModifiers()
Definition HudDebugWinCharModifiers.c:325
TextWidget m_WgtDetailedInfoText
Definition HudDebugWinCharModifiers.c:30
void RequestDetailedInfo(int id)
Definition HudDebugWinCharModifiers.c:341
int m_DetailedInfoIndex
Definition HudDebugWinCharModifiers.c:31
Widget m_WgtDetailedInfo
Definition HudDebugWinCharModifiers.c:29
void LockModifier(int id, bool state)
Definition HudDebugWinCharModifiers.c:404

Перекрестные ссылки ActivateModifier(), DeactivateModifier(), GetGame(), LockModifier(), m_DetailedInfoIndex, m_ModifierWidgetData, m_PluginDeveloperSync, m_WgtDetailedInfo, m_WgtDetailedInfoText, RequestDetailedInfo() и ResetModifiers().

◆ Refresh()

void Refresh ( )
protected
115 {
116 SetModifiers();
117 if(m_WgtDetailedInfo && m_WgtDetailedInfo.IsVisible())
118 {
120 m_WgtDetailedInfoText = TextWidget.Cast(m_WgtDetailedInfo.FindAnyWidget( "TextWidget" ));
121 m_WgtDetailedInfoText.SetText(m_PluginDeveloperSync.m_PlayerModsDetailedSynced);
122 }
123 }
void SetModifiers()
Definition HudDebugWinCharModifiers.c:153
Definition EnWidgets.c:220

Перекрестные ссылки m_PluginDeveloperSync, m_WgtDetailedInfo, m_WgtDetailedInfoText и SetModifiers().

◆ RequestDetailedInfo()

void RequestDetailedInfo ( int id)
protected
342 {
343 //Disable update on server (PluginDeveloperSync)
345
346 //if client, send RPC
347 if ( GetGame().IsClient() )
348 {
349 ref Param1<int> params = new Param1<int>( id );
350 if ( player )
351 {
352 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_DETAILED, params, true );
353 }
354 }
355 //else set directly
356 else
357 {
358 m_PluginDeveloperSync.RequestDetailedInfo( id , player);
359 }
360 }

Перекрестные ссылки GetGame(), GetPlayer() и m_PluginDeveloperSync.

Используется в OnClick().

◆ ResetModifiers()

void ResetModifiers ( )
protected
326 {
328
329 //if client, send RPC
330
331 ref Param1<bool> params = new Param1<bool>( false );
332 if ( player )
333 {
334 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_RESET, params, true );
335 }
336
337
338 }

Перекрестные ссылки GetGame() и GetPlayer().

Используется в OnClick().

◆ SetModifiers()

void SetModifiers ( )
protected
154 {
155 //clear window
157
158 if (m_PluginDeveloperSync.m_PlayerModsSynced.Count() > 0)
159 {
160 //set active mods
161 foreach (SyncedValueModifier modifier : m_PluginDeveloperSync.m_PlayerModsSynced)
162 {
164 modifier.GetName(),
165 modifier.GetID(),
166 modifier.GetActive(),
167 modifier.GetLocked(),
168 );
169 }
170 }
171
172 FitWindow();
173 }
void ClearModifiers()
Definition HudDebugWinCharModifiers.c:220
void AddModifier(string name, int id, bool active, bool locked)
Definition HudDebugWinCharModifiers.c:175
void FitWindow()
Definition HudDebugWinCharModifiers.c:128
Definition SyncedValue.c:68

Перекрестные ссылки AddModifier(), ClearModifiers(), HudDebugWinBase::FitWindow() и m_PluginDeveloperSync.

Используется в Refresh().

◆ SetUpdate()

override void SetUpdate ( bool state)
protected
62 {
63 //Disable update on server (PluginDeveloperSync)
65
66 //if client, send RPC
67 if ( GetGame().IsClient() )
68 {
70 if ( player )
71 {
72 player.RPCSingleParam( ERPCs.DEV_MODS_UPDATE, params, true );
73 SetRPCSent();
74 }
75 }
76 //else set directly
77 else
78 {
80 {
81 m_PluginDeveloperSync.EnableUpdate( state, ERPCs.DEV_MODS_UPDATE, player );
82 }
83 }
84 }

Перекрестные ссылки GetGame(), GetPlayer(), m_PluginDeveloperSync и HudDebugWinBase::SetRPCSent().

◆ Show()

override void Show ( )
protected
97 {
98 super.Show();
99
100 //Print("Show()");
101
102 SetUpdate( true );
103 }

Перекрестные ссылки HudDebugWinBase::SetUpdate().

◆ ~HudDebugWinCharModifiers()

46 {
47 SetUpdate( false );
48 }

Перекрестные ссылки HudDebugWinBase::SetUpdate().

Переменные

◆ m_DetailedInfoIndex

int m_DetailedInfoIndex
protected

Используется в OnClick().

◆ m_ModifierWidgetData

ref map<Widget, ref DebugModifierData> m_ModifierWidgetData
protected

◆ m_ModifierWidgets

ref array<ref Widget> m_ModifierWidgets
protected

Используется в AddModifier(), ClearModifiers() и HudDebugWinCharModifiers().

◆ m_PluginDeveloperSync

◆ m_WgtDetailedInfo

Widget m_WgtDetailedInfo
protected

Используется в OnClick() и Refresh().

◆ m_WgtDetailedInfoText

TextWidget m_WgtDetailedInfoText
protected

Используется в OnClick() и Refresh().

◆ m_WgtModifiersContent

class DebugModifierData m_WgtModifiersContent

Используется в AddModifier(), FitWindow() и HudDebugWinCharModifiers().