Dayz 1.25
Dayz Code 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
362 {
363 //Disable update on server (PluginDeveloperSync)
365
366 //if client, send RPC
367 if ( GetGame().IsClient() )
368 {
369 ref Param1<int> params = new Param1<int>( id );
370 if ( player )
371 {
372 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_ACTIVATE, params, true );
373 }
374 }
375 //else set directly
376 else
377 {
378 m_PluginDeveloperSync.ActivateModifier( id );
379 }
380 }
ERPCs
Definition ERPCs.c:2
PluginDeveloperSync m_PluginDeveloperSync
Definition HudDebugWinCharModifiers.c:28
PlayerBase GetPlayer()
Definition ModifierBase.c:47
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
174 {
175 //create widget
176 Widget widget = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/debug/day_z_hud_debug_modifier.layout", m_WgtModifiersContent );
177
178 //add to widget array (for clearing purposes)
179 m_ModifierWidgets.Insert( widget );
180
181 //set widget name
182 ButtonWidget mod_name_text = ButtonWidget.Cast( widget.FindAnyWidget( "TextModifierName" ) );
183 mod_name_text.SetText( name );
184 if ( active )
185 {
186 mod_name_text.SetTextColor( ARGB( 255, 0, 255, 0 ) );
187 }
188 else
189 {
190 mod_name_text.SetTextColor( ARGB( 255, 255, 0, 0 ) );
191 }
192
193 //set set data for interactive parts (modifier ID should be enough)
195
196 Widget modifier_button = widget.FindAnyWidget( "TextModifierName" );
198 //Activate button
199 Widget activate_button = widget.FindAnyWidget( "ButtonModifierActivate" );
201
202 //Deactivate button
203 Widget deactivate_button = widget.FindAnyWidget( "ButtonModifierDeactivate" );
205
206 //Lock checkbox
207 Widget checkbox_widget = widget.FindAnyWidget( "CheckBoxLock" );
209 //set lock based on checkbox value
211 checkbox.SetChecked( locked );
212
216 }
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
219 {
220 //clear widget data
221 m_ModifierWidgetData.Clear();
222
223 //destroy all modifier widgets
224 for ( int i = 0; i < m_ModifierWidgets.Count(); ++i )
225 {
226 delete m_ModifierWidgets.Get( i );
227 }
228 m_ModifierWidgets.Clear();
229 }

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

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

◆ DeactivateModifier()

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

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

◆ FitWindow()

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

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

◆ GetType()

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

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

◆ Hide()

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

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

◆ HudDebugWinCharModifiers()

void HudDebugWinCharModifiers ( Widget widget_root)
protected
39 {
41 m_WgtModifiersContent = Widget.Cast( m_WgtRoot.FindAnyWidget( "pnl_CharModifiers_Values" ) );
44 m_PluginDeveloperSync = PluginDeveloperSync.Cast( GetPlugin( PluginDeveloperSync ) );
45 }
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
404 {
405 //Disable update on server (PluginDeveloperSync)
407
408 //if client, send RPC
409 if ( GetGame().IsClient() )
410 {
412 if ( player )
413 {
414 player.RPCSingleParam( ERPCs.DEV_RPC_MODS_LOCK, params, true );
415 }
416 }
417 //else set directly
418 else
419 {
420 m_PluginDeveloperSync.LockModifier( id, state );
421 }
422 }

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

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

◆ OnClick()

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

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

◆ Refresh()

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

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

◆ RequestDetailedInfo()

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

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

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

◆ ResetModifiers()

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

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

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

◆ SetModifiers()

void SetModifiers ( )
protected
156 {
157 //clear window
159
160 if ( m_PluginDeveloperSync.m_PlayerModsSynced.Count() > 0 )
161 {
162 //set active mods
163 for ( int i = 0; i < m_PluginDeveloperSync.m_PlayerModsSynced.Count(); ++i )
164 {
165 SyncedValueModifier synced_value = m_PluginDeveloperSync.m_PlayerModsSynced.Get( i );
166 AddModifier( synced_value.GetName(), synced_value.GetID(), synced_value.GetActive(),synced_value.GetLocked() );
167 }
168 }
169
170 FitWindow();
171 }
void ClearModifiers()
Definition HudDebugWinCharModifiers.c:218
void AddModifier(string name, int id, bool active, bool locked)
Definition HudDebugWinCharModifiers.c:173
void FitWindow()
Definition HudDebugWinCharModifiers.c:130
Definition SyncedValue.c:68

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

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

◆ SetUpdate()

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

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

◆ Show()

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

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

◆ ~HudDebugWinCharModifiers()

48 {
49 SetUpdate( false );
50 }

Перекрестные ссылки 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().