Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
ingamehud.c
Go to the documentation of this file.
1class IngameHud extends Hud
2{
3 protected const float FADE_IN_TIME = 0.3;
4 protected const float FADE_OUT_TIME = 0.3;
5 protected const float HIDE_MENU_TIME = 5;
6
8 protected ref map<int,ImageWidget> m_StatesWidgets; // [key] ImageWidget
9
10 protected ref map<ImageWidget, int> m_TendencyStatusCritical; //array of icons that are blinking due to critical tendency status
11 protected const float TENDENCY_BLINK_TIME = 0.25;
12 protected float m_BlinkTime;
13
17 protected ref map<int,ImageWidget> m_BadgesWidgets; // [key] ImageWidget
18 protected bool m_IsTemperatureVisible;
19 protected float m_TemperatureTimer;
20 protected float m_TemperatureShowTime = 30;
21 protected ImageWidget m_HeatBufferPlus;
22
23 protected bool m_IsStaminaVisible;
24 protected float m_StaminaTimer;
25 protected float m_StaminaShowTime = 0.15;
26
27 protected Widget m_HudPanelWidget; // always visible
28 protected Widget m_QuickbarWidget;
29 protected Widget m_VehicleHudPanels;
30 protected ref InventoryQuickbar m_Quickbar;
31
34
35 protected Widget m_GameStatusIconsPanel;
36 protected ImageWidget m_HighPingA;
37 protected ImageWidget m_HighPingB;
38 protected ImageWidget m_LowServerPerfA;
39 protected ImageWidget m_LowServerPerfB;
40 protected ImageWidget m_ConnectionLost;
41
42 protected Widget m_Notifiers;
43 protected TextWidget m_BloodType;
44 protected TextWidget m_BloodPosType;
45 protected Widget m_Badges;
46 protected ref Timer m_HideTimer;
47 protected ref WidgetFadeTimer m_FadeTimerCrosshair;
48 protected ref WidgetFadeTimer m_FadeTimerActionCursor;
49// protected ref WidgetFadeTimer m_FadeTimerWeaponMode;
50// protected ref WidgetFadeTimer m_FadeTimerZeroing;
51 protected ref WidgetFadeTimer m_FadeTimerZeroingOld;
52 protected ref WidgetFadeTimer m_FadeTimerMagazineName;
53 protected ref WidgetFadeTimer m_FadeTimerWeaponName;
54 protected ref WidgetFadeTimer m_FadeTimerWeaponStats;
55 protected ref WidgetFadeTimer m_FadeTimerQuickbar;
56 protected ref WidgetFadeTimer m_FadeTimerWalkieTalkie;
57 protected ref WidgetFadeTimer m_FadeTimerWalkieTalkieText;
58
59 protected ProgressBarWidget m_Stamina;
60 protected Widget m_StaminaBackground;
61 protected Widget m_Presence;
62 protected Widget m_StanceProne;
63 protected Widget m_StanceStand;
64 protected Widget m_StanceStandWalk;
65 protected Widget m_StanceCrouch;
66 protected Widget m_StanceCar;
67 protected Widget m_PresenceLevel0;
68 protected Widget m_PresenceLevel1;
69 protected Widget m_PresenceLevel2;
70 protected Widget m_PresenceLevel3;
71 protected Widget m_PresenceLevel4;
72 protected ref Timer myTimer; //TEMP
74 protected Widget m_MouseSingleAction;
75 protected Widget m_MouseContinuousAction;
76 protected Widget m_RadialProgressBar1;
78 protected Widget m_RadialProgressBar;
79 protected Widget m_CursorWidget;
80 protected ImageWidget m_CursorIcon;
81 protected Widget m_WalkieTalkie;
82
83 protected Widget m_ActionWidget;
84 protected TextWidget m_ActionDesc;
85 protected TextWidget m_ActionItemDesc;
86 protected Widget m_ActionItemQuantityWrapper
87 protected ImageWidget m_ActionHealthMark;
88 protected ProgressBarWidget m_ActionQuantityBar;
89 protected Widget m_ActionQuantityBox;
90 protected TextWidget m_ActionQuantityBoxText;
91 protected ImageWidget m_ActionIcon;
92 protected TextWidget m_ActionButtonText;
93
94 protected Widget m_ActionIconFrame;
96
97 protected Widget m_ActionTarget;
99
100 // CrossHairs
101 protected ImageWidget m_PermanentCrossHair;
102 protected bool m_ZeroingKeyPressed;
103
104 protected Widget m_HitIndicatorUp;
105 protected Widget m_HitIndicatorDown;
106 protected Widget m_HitIndicatorLeft;
107 protected Widget m_HitIndicatorRight;
108 protected Widget m_HitIndicatorSingle;
109
111
113 protected ref IngameHudVisibility m_HudVisibility;
114
118 TextWidget m_PlayerTagText;
119
121 {
122 m_FadeTimerCrosshair = new WidgetFadeTimer;
123 m_FadeTimerActionCursor = new WidgetFadeTimer;
124 m_FadeTimerQuickbar = new WidgetFadeTimer;
125 m_FadeTimerWalkieTalkie = new WidgetFadeTimer;
126 m_FadeTimerWalkieTalkieText = new WidgetFadeTimer;
127
128 m_StatesWidgets = new map<int, ImageWidget>; // [key] widgetName
129 m_StatesWidgetNames = new map<int, string>;
130
131 m_TendencyStatusCritical = new map<ImageWidget, int>;
132
133 m_BadgesWidgets = new map<int, ImageWidget>; // [key] widgetName
134 m_BadgesWidgetNames = new map<int, string>;
135 m_BadgesSupportedLevels = new map<int, int>;
136 m_BadgesWidgetDisplay = new map<int, int>;
137
138 m_VehicleHudMap = new map<string, ref VehicleHudBase>;
139
140 m_HudVisibility = new IngameHudVisibility();
141 }
142
143 override void Init( Widget hud_panel_widget )
144 {
145 m_HudVisibility.Init(hud_panel_widget);
146 m_HudPanelWidget = hud_panel_widget;
147
148 //Quickbar
149 m_QuickbarWidget = m_HudPanelWidget.FindAnyWidget("QuickbarGrid");
150 m_QuickbarWidget.Show( false );
151
152 //TEMPORARY HACK!!! player is not present when Hud is being initialized
153 myTimer = new Timer( CALL_CATEGORY_GAMEPLAY );
154 myTimer.Run( 1, this, "InitQuickbar" );
155
156 m_CursorWidget = m_HudPanelWidget.FindAnyWidget("CursorIcons");
157 m_CursorWidget.Show(true);
158 Class.CastTo(m_CursorIcon, m_HudPanelWidget.FindAnyWidget("Cursor"));
159
160 //Permanent Crosshair
161 Class.CastTo(m_PermanentCrossHair, m_HudPanelWidget.FindAnyWidget("PermanentCrossHair"));
162
163 m_WalkieTalkie = m_HudPanelWidget.FindAnyWidget("WalkieTalkie");
164
165 //Panels
166 Class.CastTo(m_Stamina, m_HudPanelWidget.FindAnyWidget("StaminaBar"));
167 m_Presence = m_HudPanelWidget.FindAnyWidget("PresencePanel");
168 m_Badges = hud_panel_widget.FindAnyWidget("BadgesPanel");
169 m_Notifiers = m_HudPanelWidget.FindAnyWidget("NotifiersPanel");
170 m_BloodType = TextWidget.Cast( m_HudPanelWidget.FindAnyWidget("BloodType") );
171 m_BloodPosType = TextWidget.Cast( m_HudPanelWidget.FindAnyWidget("BloodPosType") );
172
173 // Init vehicle HUDs
174 m_VehicleHudPanels = m_HudPanelWidget.FindAnyWidget("VehicleHUDPanels");
175
176 CarHud carHud = new CarHud();
177 m_VehicleHudMap.Insert("VehicleTypeCar", carHud);
178
179 BoatHud boatHud = new BoatHud();
180 m_VehicleHudMap.Insert("VehicleTypeBoat", boatHud);
181
182 foreach (VehicleHudBase vehHud : m_VehicleHudMap)
183 {
184 vehHud.Init(m_VehicleHudPanels);
185 vehHud.HidePanel();
186 }
187
188 m_StaminaBackground = m_HudPanelWidget.FindAnyWidget("StaminaBackground");
189 m_StaminaBackground.Show(true);
190 m_StanceProne = m_HudPanelWidget.FindAnyWidget("StanceProne");
191 m_StanceCrouch = m_HudPanelWidget.FindAnyWidget("StanceCrouch");
192 m_StanceStand = m_HudPanelWidget.FindAnyWidget("StanceStand");
193 m_StanceStandWalk = m_HudPanelWidget.FindAnyWidget("StanceStandWalk");
194 m_StanceCar = m_HudPanelWidget.FindAnyWidget("StanceCar");
195
196 m_ActionTarget = m_HudPanelWidget.FindAnyWidget("ActionTargetsCursorWidget");
198 m_ActionTarget.GetScript(m_ActionTargetsCursor);
199
200 // heat buffer plus sign
201 m_HeatBufferPlus = ImageWidget.Cast( m_HudPanelWidget.FindAnyWidget( "HeatBuffer1" ) );
202
203 //Game State Icons
204 m_GameStatusIconsPanel = m_HudPanelWidget.FindAnyWidget("GameStatusIcons");
205 m_HighPingA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("HighPingA"));
206 m_HighPingB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("HighPingB"));
207 m_LowServerPerfA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("LowServerPerfA"));
208 m_LowServerPerfB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("LowServerPerfB"));
209 m_ConnectionLost = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("ConnectionLost"));
210
211 if ( m_HeatBufferPlus )
212 m_HeatBufferPlus.Show( false );
213
214 #ifndef NO_GUI
216 m_Timer.Run(0.333, this, "RefreshQuickbar", NULL, true );
217 #endif
219
220 m_PresenceLevel0 = hud_panel_widget.FindAnyWidget("Presence0");
221 m_PresenceLevel1 = hud_panel_widget.FindAnyWidget("Presence1");
222 m_PresenceLevel2 = hud_panel_widget.FindAnyWidget("Presence2");
223 m_PresenceLevel3 = hud_panel_widget.FindAnyWidget("Presence3");
224 m_PresenceLevel4 = hud_panel_widget.FindAnyWidget("Presence4");
225 m_PresenceLevel0.Show( false );
226 m_PresenceLevel1.Show( false );
227 m_PresenceLevel2.Show( false );
228 m_PresenceLevel3.Show( false );
229 m_PresenceLevel4.Show( false );
230
231 if (!g_Game.GetProfileOption(EDayZProfilesOptions.HUD))
232 ShowHud(false);
233
234 if (!g_Game.GetProfileOption(EDayZProfilesOptions.HUD_VEHICLE))
236
237 MissionGameplay.Cast(GetGame().GetMission()).GetConnectivityInvoker().Insert(OnConnectionIconsSettingsChanged);
238 m_GameStatusIconsPanel.Show(g_Game.GetProfileOption(EDayZProfilesOptions.CONNECTIVITY_INFO));
239 //ShowQuickBar(GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() && g_Game.GetProfileOption(EDayZProfilesOptions.QUICKBAR)); //unreliable
240 }
241
243 {
244 // state notifiers
245 m_StatesWidgetNames.Clear();
246 m_StatesWidgets.Clear();
247 m_StatesWidgetNames.Set( NTFKEY_THIRSTY, "Thirsty" );
248 m_StatesWidgetNames.Set( NTFKEY_HUNGRY, "Hungry" );
249 m_StatesWidgetNames.Set( NTFKEY_SICK, "Health" );
250 m_StatesWidgetNames.Set( NTFKEY_BLEEDISH, "Blood" );
251 m_StatesWidgetNames.Set( NTFKEY_FEVERISH, "Temperature" );
252
253 m_Notifiers.Show( true );
254 m_Badges.Show( true );
255
256 int i = 0;
257 int key = 0;
258 for ( i = 0; i < m_StatesWidgetNames.Count(); i++ )
259 {
260 string widget_name = m_StatesWidgetNames.GetElement(i);
261 key = m_StatesWidgetNames.GetKey(i);
262 ImageWidget w;
263 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( "Icon" + widget_name ) ) );
264 m_StatesWidgets.Set( key, w );
265 w.Show( true );
266 for ( int y = 0; y < 5; y++ )
267 {
268 w.LoadImageFile( y, "set:dayz_gui image:icon" + widget_name + y );
269 }
270
271 w.SetImage( 0 );
272 float alpha = w.GetAlpha();
273 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //white
274 m_TendencyStatusCritical.Remove( w );
275 // clear all arrows
276 for ( int x = 1; x < 4; x++ )
277 {
278 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( widget_name + "ArrowUp" + x.ToString() ) ) );
279 w.Show( false );
280 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( widget_name + "ArrowDown" + x.ToString() ) ) );
281 w.Show( false );
282 }
283
284
285 }
286
287 // badges
288 m_BadgesWidgetNames.Clear();
289 m_BadgesWidgets.Clear();
290 m_BadgesWidgetDisplay.Clear();
291 m_BadgesSupportedLevels.Clear();
292
293 m_BadgesWidgetNames.Set( NTFKEY_FRACTURE, "Fracture" );
294 m_BadgesWidgetNames.Set( NTFKEY_STUFFED, "Stomach" );
295 m_BadgesWidgetNames.Set( NTFKEY_SICK, "Sick" );
296 m_BadgesWidgetNames.Set( NTFKEY_WETNESS, "Wetness" );
297 m_BadgesWidgetNames.Set( NTFKEY_POISONED, "Poisoned" );
298 m_BadgesWidgetNames.Set( NTFKEY_BLEEDISH, "Bleeding" );
299 m_BadgesWidgetNames.Set( NTFKEY_LIVES, "Shock" );
300 m_BadgesWidgetNames.Set( NTFKEY_PILLS, "Pills" );
301 m_BadgesWidgetNames.Set( NTFKEY_LEGS, "InjuredLegs" );
302
303 // any badges not included bellow are just ON/OFF
304 m_BadgesSupportedLevels.Insert(NTFKEY_LEGS,3);
305
306 for ( i = 0; i < m_BadgesWidgetNames.Count(); i++ )
307 {
308 string badge_name = m_BadgesWidgetNames.GetElement( i);
309 key = m_BadgesWidgetNames.GetKey( i );
310 ImageWidget badge_widget;
311
312
313 Class.CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
314
315 if (m_BadgesSupportedLevels.Contains(key))
316 {
317 int badgeCountMax = m_BadgesSupportedLevels.Get(key);
318
319 for ( int q = 0; q < badgeCountMax; q++ )
320 {
321 badge_widget.LoadImageFile( q, "set:dayz_gui image:icon" + badge_name + q );
322 }
323 }
324
325 m_BadgesWidgets.Set( key, badge_widget );
326 badge_widget.Show( false );
327 m_BadgesWidgetDisplay.Set( key, false );
328 }
329 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, true);
330 }
331
333 {
334 m_GameStatusIconsPanel.Show(enabled);
335 }
336
337 override void OnResizeScreen()
338 {
339 float x, y;
340 m_HudPanelWidget.GetScreenSize( x, y );
341 m_HudPanelWidget.Update();
342 m_Badges.Update();
343 m_Notifiers.SetPos( 0, 0 );
344 }
345
346 override void OnPlayerLoaded()
347 {
348 PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
349 if (!player)
350 Error("OnPlayerLoaded: Cannot retreive player");
351
352 if (!player.IsUnconscious()) // uncon stop is not called when player respawns
354
355 player.GetOnUnconsciousStart().Insert(OnUnconsciousStart);
356 player.GetOnUnconsciousStop().Insert(OnUnconsciousStop);
357 }
358
359 protected void OnUnconsciousStart()
360 {
361 m_HudVisibility.SetContextFlag(EHudContextFlags.UNCONSCIOUS, true);
362 }
363
364 protected void OnUnconsciousStop()
365 {
366 m_HudVisibility.SetContextFlag(EHudContextFlags.UNCONSCIOUS, false);
367 }
368
369
370 override void Show( bool show )
371 {
372 m_HudPanelWidget.Show(show);
373 }
374
375 override void ShowWalkieTalkie( bool show )
376 {
377 m_FadeTimerWalkieTalkie.Stop();
378 m_FadeTimerWalkieTalkieText.Stop();
379 m_WalkieTalkie.Show( show );
380 }
381
382 override void ShowWalkieTalkie( int fadeOutSeconds )
383 {
384 m_WalkieTalkie.Show(true);
385 m_FadeTimerWalkieTalkie.Stop();
386 m_FadeTimerWalkieTalkieText.Stop();
387 m_FadeTimerWalkieTalkie.FadeOut( m_WalkieTalkie.FindAnyWidget("Icon") , fadeOutSeconds );
388 m_FadeTimerWalkieTalkieText.FadeOut( m_WalkieTalkie.FindAnyWidget("Text") , fadeOutSeconds );
389 }
390
391 override void SetWalkieTalkieText( string text )
392 {
393 TextWidget txt;
394 Class.CastTo(txt, m_WalkieTalkie.FindAnyWidget("Text"));
395 txt.SetText(text);
396 }
397
398 override void SetCursorIcon( string icon )
399 {
400 if ( icon.Length() == 0 || icon == CursorIcons.None )
401 m_CursorIcon.Show(false);
402 else
403 {
404 m_CursorIcon.LoadImageFile( 0, icon );
405 m_CursorIcon.Show(true);
406 }
407 }
408
409 override void ShowCursor()
410 {
411 m_CursorWidget.Show( true );
412 }
413
414 override void HideCursor()
415 {
416 m_CursorWidget.Show( false );
417 }
418
419 override void SetCursorIconScale( string type, float percentage )
420 {
421 float x, y;
422 m_CursorIcon.FindAnyWidget( type ).GetParent().GetSize( x, y );
423 m_CursorIcon.FindAnyWidget( type ).GetParent().SetSize( x * percentage, y * percentage );
424 }
425
426 override void SetCursorIconOffset( string type, float x, float y )
427 {
428 m_CursorIcon.FindAnyWidget( type ).GetParent().SetPos( x, y );
429 }
430
431 override void SetCursorIconSize( string type, float x, float y )
432 {
433 m_CursorIcon.FindAnyWidget( type ).GetParent().SetSize( x, y );
434 }
435
436#ifdef DIAG_DEVELOPER
437 // Debug Crosshair
438 override void SetPermanentCrossHair( bool show )
439 {
440 m_PermanentCrossHair.Show(show);
441 }
442#endif
443
444 override void DisplayNotifier( int key, int tendency, int status )
445 {
446 ImageWidget w;
447 if ( key == NTFKEY_FEVERISH )
448 {
449 DisplayTendencyTemp( key, tendency, status );
450 }
451 else
452 {
453 DisplayTendencyNormal( key, tendency, status );
454 }
455
456 // tendency arrows
457 string arrow_name = "ArrowUp";
458 if ( tendency < 0 )
459 {
460 arrow_name = "ArrowDown";
461 }
462 tendency = Math.AbsInt( tendency );
463
464 for ( int x = 1; x < 4; x++ )
465 {
466 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( m_StatesWidgetNames.Get( key ) + "ArrowUp" + x.ToString() ) ) );
467 if( w )
468 w.Show( false );
469 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( m_StatesWidgetNames.Get( key ) + "ArrowDown" + x.ToString() ) ) );
470 if( w )
471 w.Show( false );
472 }
473
474 if( tendency > 0 )
475 {
476 string widget_name = m_StatesWidgetNames.Get( key ) + arrow_name + Math.Clamp( tendency, 1, 3 );
477 Class.CastTo(w, m_Notifiers.FindAnyWidget( widget_name ) );
478 if( w )
479 w.Show( true );
480 }
481 }
482
483 void DisplayTendencyNormal( int key, int tendency, int status )
484 {
485 ImageWidget w;
486 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( "Icon" + m_StatesWidgetNames.Get( key ) ) ) );
487
488 if( w )
489 {
490 w.SetImage( Math.Clamp( status - 1, 0, 4 ) );
491 float alpha = w.GetAlpha();
492
493 switch( status )
494 {
495 case 3:
496 w.SetColor( ARGB( alpha * 255, 220, 220, 0 ) ); //yellow
497 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
498 break;
499 case 4:
500 w.SetColor( ARGB( alpha * 255, 220, 0, 0 ) ); //red
501 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
502 break;
503 case 5:
504 if ( !m_TendencyStatusCritical.Contains( w ) )
505 {
506 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 220, 0, 0 ) ); //add to blinking group
507 }
508 break;
509 default:
510 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //white
511 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
512 break;
513 }
514 }
515 }
516
517 void DisplayTendencyTemp( int key, int tendency, int status )
518 {
519 ImageWidget w = ImageWidget.Cast( m_Notifiers.FindAnyWidget( String( "Icon" + m_StatesWidgetNames.Get( key ) ) ) );
520 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
521 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
522 //string temp = player..ToString() + "°C";
523 float alpha = w.GetAlpha();
524
525 if ( tendency < 0 )
526 {
527 temp_top.Show( true );
528 temp_bot.Show( false );
529 }
530 else
531 {
532 temp_top.Show( false );
533 temp_bot.Show( true );
534 }
535
536 switch( status )
537 {
538 case 2:
539 w.SetColor( ARGB( alpha * 255, 220, 220, 0 ) ); //WARNING_PLUS
540 m_TendencyStatusCritical.Remove( w );
541 w.SetImage( 1 );
542
543 break;
544 case 3:
545 w.SetColor( ARGB( alpha * 255, 220, 0, 0 ) ); //CRITICAL_PLUS
546 m_TendencyStatusCritical.Remove( w );
547 w.SetImage( 0 );
548 break;
549 case 4:
550 if ( !m_TendencyStatusCritical.Contains( w ) ) //BLINKING_PLUS
551 {
552 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 220, 0, 0 ) );
553 }
554 w.SetImage( 0 );
555 break;
556 case 5:
557 w.SetColor( ARGB( alpha * 255, 0, 206, 209 ) ); //WARNING_MINUS
558 m_TendencyStatusCritical.Remove( w );
559 w.SetImage( 3 );
560 break;
561 case 6:
562 w.SetColor( ARGB( alpha * 255, 30, 144, 220 ) ); //CRITICAL_MINUS
563 m_TendencyStatusCritical.Remove( w );
564 w.SetImage( 4 );
565 break;
566 case 7: //BLINKING_MINUS
567 if ( !m_TendencyStatusCritical.Contains( w ) )
568 {
569 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 30, 144, 220 ) );
570 }
571 w.SetImage( 4 );
572 break;
573 default:
574 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //DEFAULT
575 m_TendencyStatusCritical.Remove( w );
576 w.SetImage( 2 );
577 break;
578 }
579 }
580
581 override void DisplayBadge( int key, int value )
582 {
583 TextWidget bleed_count = TextWidget.Cast( m_Badges.FindAnyWidget( "BleedingCount" ) );
584
585 m_BadgesWidgetDisplay.Set( key, value );
586 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, true);
587 for ( int i = 0; i < m_BadgesWidgetDisplay.Count(); i++ )
588 {
589 int badge_key = m_BadgesWidgetDisplay.GetKey( i );
590 int badge_value = m_BadgesWidgetDisplay.Get( badge_key );
591 string badge_name = m_BadgesWidgetNames.Get( badge_key );
592
593 ImageWidget badge_widget
594 Class.CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
595 if ( badge_widget )
596 {
597 if ( badge_value > 0 )
598 {
599 if (m_BadgesSupportedLevels.Contains(badge_key))
600 {
601 int levelIndex = badge_value - 1;
602 int maxSupportedIndex = m_BadgesSupportedLevels.Get(badge_key) - 1;
603 if (maxSupportedIndex >= levelIndex)
604 badge_widget.SetImage(levelIndex);
605 }
606
607 badge_widget.Show( true );
608 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, false);
609 if( badge_key == NTFKEY_BLEEDISH )
610 {
611 bleed_count.Show( true );
612 bleed_count.SetText( m_BadgesWidgetDisplay.Get( badge_key ).ToString() );
613 }
614 }
615 else
616 {
617 if( badge_key == NTFKEY_BLEEDISH )
618 {
619 bleed_count.Show( false );
620 }
621 badge_widget.Show( false );
622 }
623 }
624 }
625 }
626
627 override void SetTemperature( string temp )
628 {
629 m_IsTemperatureVisible = true;
630 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
631 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
632 temp_top.SetText( temp );
633 temp_bot.SetText( temp );
634 m_TemperatureTimer = 0;
635 }
636
638 {
639 m_IsTemperatureVisible = false;
640 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
641 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
642 temp_top.SetText( "" );
643 temp_bot.SetText( "" );
644 m_TemperatureTimer = 0;
645 }
646
647 override void SetStaminaBarVisibility( bool show )
648 {
649 //m_StaminaBackground.Show( show );
650 //m_Stamina.Show( show );
651 if ( show )
652 {
653 m_Stamina.SetAlpha(1);
654 //m_Stamina.SetTextColor( ColorManager.COLOR_NORMAL_TEXT );
655 }
656 else
657 {
658 m_Stamina.SetAlpha(0.3);
659 //m_Stamina.SetTextColor( ColorManager.RED_COLOR );
660 }
661
662 m_IsStaminaVisible = show;
663 m_StaminaTimer = 0;
664 }
665
666 // state 0 = empty
667 // state 1 = digesting
668 // state 2 = full
669 void SetStomachState( int state )
670 {
671 ImageWidget stomach = ImageWidget.Cast( m_Badges.FindAnyWidget( "Stomach" ) );
672 stomach.LoadImageFile( 0, "set:dayz_gui image:iconStomach" + state );
673 }
674
675 override void SetStamina( int value , int range )
676 {
677 float sx, sy;
678 float max = CfgGameplayHandler.GetStaminaMax();
679 float percentage = 1;
680 if (max != 0)
681 {
682 percentage = range / max;
683 }
684
685 if (range != 0)
686 {
687 m_Stamina.SetCurrent(( value / range ) * 100);
688 }
689 else
690 {
691 m_Stamina.SetCurrent(0);
692 }
693
694 m_Stamina.GetSize(sx, sy);
695 m_Stamina.SetSize(percentage, sy);
696 m_StaminaBackground.SetSize(1 - percentage, sy);
697
698 // set health & blood values
699 if (!GetGame().IsMultiplayer())
700 {
701 if (GetGame().GetPlayer())
702 {
703 PlayerBase player;
704 Class.CastTo(player, GetGame().GetPlayer());
705
706 if (player)
707 {
708 float h1 = player.GetHealth("","");
709 float b1 = player.GetHealth("","Blood");
710
711 GetDayZGame().GetBacklit().SetHealth(h1);
712 GetDayZGame().GetBacklit().SetBlood(b1);
713 }
714 }
715 }
716
717 // update backlit
718 GetDayZGame().GetBacklit().UpdatePlayer(false);
719 }
720
721 bool KeyPress(int key)
722 {
723 return false;
724 }
725
727 {
728 m_ZeroingKeyPressed = true;
729 }
730
731 override void DisplayStance( int stance )
732 {
733 PlayerBase player;
734 Class.CastTo(player, GetGame().GetPlayer() );
735 Car car;
736 if ( !Class.CastTo(car, player.GetDrivingVehicle()) )
737 {
738 if( stance == 1 )
739 {
740 bool is_walking;
741 m_StanceStand.Show(!is_walking);
742 m_StanceStandWalk.Show(is_walking);
743 m_StanceCrouch.Show(false);
744 m_StanceProne.Show(false);
745 m_StanceCar.Show( false );
746 }
747 if( stance == 2 )
748 {
749 m_StanceStand.Show(false);
750 m_StanceStandWalk.Show(false);
751 m_StanceCrouch.Show(true);
752 m_StanceProne.Show(false);
753 m_StanceCar.Show( false );
754 }
755 if( stance == 3 )
756 {
757 m_StanceStand.Show(false);
758 m_StanceStandWalk.Show(false);
759 m_StanceCrouch.Show(false);
760 m_StanceProne.Show(true);
761 m_StanceCar.Show( false );
762 }
763 }
764 else
765 {
766 m_StanceStand.Show(false);
767 m_StanceCrouch.Show(false);
768 m_StanceProne.Show(false);
769 m_StanceCar.Show( true );
770 }
771 }
772
773 override void DisplayPresence()
774 {
775 PlayerBase player;
776
777 if ( Class.CastTo(player, GetGame().GetPlayer()) )
778 {
779 int presence_level = player.GetNoisePresenceInAI();
780 m_PresenceLevel0.Show( false );
781 m_PresenceLevel1.Show( false );
782 m_PresenceLevel2.Show( false );
783 m_PresenceLevel3.Show( false );
784 m_PresenceLevel4.Show( false );
785
786 if ( presence_level > 0 )
787 {
788 m_PresenceLevel0.Show( true );
789 }
790 if ( presence_level > 1 )
791 {
792 m_PresenceLevel1.Show( true );
793 }
794 if ( presence_level > 2 )
795 {
796 m_PresenceLevel2.Show( true );
797 }
798 if ( presence_level > 3 )
799 {
800 m_PresenceLevel3.Show( true );
801 }
802 if ( presence_level > 4 )
803 {
804 m_PresenceLevel4.Show( true );
805 }
806 }
807 }
808
809 override void ShowVehicleInfo()
810 {
811 PlayerBase currentPlayer = PlayerBase.Cast(GetGame().GetPlayer());
812 if (!currentPlayer)
813 return;
814
815 Transport vehicle = Transport.Cast(currentPlayer.GetDrivingVehicle());
816 if (!vehicle)
817 return;
818
819 VehicleHudBase vehHud = m_VehicleHudMap.Get(vehicle.GetVehicleType());
820 if (vehHud)
821 {
822 vehHud.ShowVehicleInfo(currentPlayer);
823 m_ActiveVehicleHUD = vehHud;
824 m_ActiveVehicleHUD.ShowPanel();
825 ShowVehicleHud(true);
826 }
827 }
828
829 override void HideVehicleInfo()
830 {
831 if (m_ActiveVehicleHUD)
832 {
833 ShowVehicleHud(false);
834 m_ActiveVehicleHUD.HideVehicleInfo();
835 m_ActiveVehicleHUD.HidePanel();
836 m_ActiveVehicleHUD = null;
837 return;
838 }
839 }
840
841 void RefreshVehicleHud(float timeslice)
842 {
843 DayZPlayer currentPlayer = GetGame().GetPlayer();
844 if (!currentPlayer)
845 return;
846
847 HumanCommandVehicle cmdVehicle = currentPlayer.GetCommand_Vehicle();
848 if (cmdVehicle && cmdVehicle.GetTransport())
849 {
850 if (!m_HudVisibility.IsContextFlagActive(EHudContextFlags.VEHICLE))
851 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE, true);
852 }
853 else if (m_HudVisibility.IsContextFlagActive(EHudContextFlags.VEHICLE))
854 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE, false);
855
856 if (m_ActiveVehicleHUD)
857 m_ActiveVehicleHUD.RefreshVehicleHud(timeslice);
858 }
859
861 {
862 if (m_Quickbar == NULL)
863 {
864 m_Quickbar = new InventoryQuickbar( m_QuickbarWidget );
865 }
866 }
867
868 InventoryQuickbar GetQuickbar()
869 {
870 return m_Quickbar;
871 }
872
873 IngameHudVisibility GetHudVisibility()
874 {
875 return m_HudVisibility;
876 }
877
879 {
880 #ifdef PLATFORM_CONSOLE
881 ShowQuickBar(GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer());
882 #else
883 ShowQuickBar(g_Game.GetProfileOption(EDayZProfilesOptions.QUICKBAR));
884 #endif
885 }
886
887 // disable quick bar visibility in options
888 override void ShowQuickbarUI( bool show )
889 {
890 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_DISABLE, !show);
891 }
892
893 // hide quick bar
894 override void ShowQuickbarPlayer( bool show )
895 {
896 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_HIDE, !show);
897 }
898
899 // hide left HUD elements
900 override void ShowHudPlayer( bool show )
901 {
902 m_HudVisibility.SetContextFlag(EHudContextFlags.HUD_HIDE, !show);
903 }
904
905 // set visibility of left/right HUD when another menu opens/closes
906 override void ShowHudUI( bool show )
907 {
908 m_HudVisibility.SetContextFlag(EHudContextFlags.MENU_OPEN, !show);
909 }
910
911 // switches with inventory open in cases where UI is otherwise hidden
912 override void ShowHudInventory( bool show )
913 {
914 m_HudVisibility.SetContextFlag(EHudContextFlags.INVENTORY_OPEN, show);
915 }
916
918 override void ShowQuickBar( bool show )
919 {
920 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_GLOBAL, !show);
921 }
922
923 // disable HUD through options menu
924 override void ShowHud( bool show )
925 {
926 m_HudVisibility.SetContextFlag(EHudContextFlags.HUD_DISABLE, !show);
927 ShowHudPlayer(true);
928 }
929
931 void ShowVehicleHud(bool state)
932 {
933 m_HudVisibility.SetContextFlag(EHudContextFlags.DRIVER, state);
934 }
935
937 void SetVehicleHudDisabled(bool state)
938 {
939 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE_DISABLE, state);
940 }
941
942 override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
943 {
944 if (type == EConnectivityStatType.PING)
945 {
946 switch (level)
947 {
948 case EConnectivityStatLevel.OFF:
949 m_HighPingA.Show(false);
950 m_HighPingB.Show(false);
951 break;
952 case EConnectivityStatLevel.LEVEL1:
953 m_HighPingA.Show(true);
954 m_HighPingB.Show(false);
955 break;
956 case EConnectivityStatLevel.LEVEL2:
957 m_HighPingA.Show(false);
958 m_HighPingB.Show(true);
959 break;
960 }
961 }
962 else if (type == EConnectivityStatType.SERVER_PERF)
963 {
964 switch (level)
965 {
966 case EConnectivityStatLevel.OFF:
967 m_LowServerPerfA.Show(false);
968 m_LowServerPerfB.Show(false);
969 break;
970 case EConnectivityStatLevel.LEVEL1:
971 m_LowServerPerfA.Show(true);
972 m_LowServerPerfB.Show(false);
973 break;
974 case EConnectivityStatLevel.LEVEL2:
975 m_LowServerPerfA.Show(false);
976 m_LowServerPerfB.Show(true);
977 break;
978 }
979 }
980 else if (type == EConnectivityStatType.CONN_LOST)
981 {
982 switch (level)
983 {
984 case EConnectivityStatLevel.OFF:
985 m_ConnectionLost.Show(false);
986 break;
987 case EConnectivityStatLevel.LEVEL1:
988 m_ConnectionLost.Show(true);
989 break
990 }
991 }
992 }
993
994 override void RefreshQuickbar( bool itemChanged = false )
995 {
996 if (!itemChanged && !m_HudVisibility.IsElementVisible(EHudElement.QUICKBAR)) // Don't update when it is hidden or disabled
997 return;
998
999 if ( itemChanged )
1000 {
1001 UIManager manager = GetGame().GetUIManager();
1002
1003 InventoryMenu inventory = InventoryMenu.Cast(manager.FindMenu( MENU_INVENTORY ));
1004 MissionGameplay mission = MissionGameplay.Cast(GetGame().GetMission());
1005
1006 if ( mission )
1007 {
1008 inventory = mission.GetInventory();
1009 }
1010
1011 if ( inventory )
1012 {
1013 inventory.RefreshQuickbar();
1014 }
1015 }
1016
1017 if ( m_Quickbar )
1018 {
1019 m_Quickbar.UpdateItems( m_QuickbarWidget );
1020 }
1021 }
1022
1024 {
1025 return m_HudPanelWidget;
1026 }
1027
1028 override void UpdateBloodName()
1029 {
1030 PlayerBase player;
1031 Class.CastTo(player, GetGame().GetPlayer() );
1032
1033 if( player )
1034 {
1035 string blood_name;
1036 bool positive;
1037 BloodTypes.GetBloodTypeName( player.GetBloodType(), blood_name, positive );
1038 bool blood_type_visible = player.HasBloodTypeVisible();
1039
1040 if( blood_type_visible )
1041 {
1042 m_BloodType.SetText( blood_name );
1043 if( positive )
1044 m_BloodPosType.SetText( "+" );
1045 else
1046 m_BloodPosType.SetText( "-" );
1047 }
1048 else
1049 {
1050 m_BloodType.SetText( "" );
1051 m_BloodPosType.SetText( "" );
1052 }
1053 }
1054 }
1055
1057 {
1058 if( GetGame().GetPlayer() )
1059 {
1060 bool found = false;
1061 vector head_pos = GetGame().GetCurrentCameraPosition();
1062 float distance;
1063 foreach( Man player : ClientData.m_PlayerBaseList )
1064 {
1065 vector target_player = player.GetPosition();
1066 distance = vector.Distance( head_pos, target_player );
1067
1068 target_player[1] = target_player[1] + 1.2;
1069
1070 if( distance <= 15 && player != GetGame().GetPlayer() )
1071 {
1072 vector screen_pos = GetGame().GetScreenPosRelative( target_player );
1073 vector end_pos = head_pos + GetGame().GetCurrentCameraDirection() * 25;
1074 RaycastRVParams params = new RaycastRVParams( head_pos, end_pos, GetGame().GetPlayer(), 0 );
1075 params.sorted = true;
1076
1078 DayZPhysics.RaycastRVProxy( params, results );
1079 if( results.Count() > 0 )
1080 {
1081 if( results.Get( 0 ).obj == player )
1082 {
1083 m_CurrentTaggedPlayer = PlayerBase.Cast( player );
1084 found = true;
1085 }
1086 }
1087 }
1088 }
1089 if( !found )
1090 {
1091 m_CurrentTaggedPlayer = null;
1092 }
1093 }
1094 }
1095
1096 void ShowPlayerTag( float timeslice )
1097 {
1098 if ( m_CurrentTaggedPlayer && m_CurrentTaggedPlayer.GetIdentity() )
1099 {
1100 if ( !m_PlayerTag )
1101 {
1102 m_PlayerTag = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/hud/hud_player_tag.layout");
1103 m_PlayerTagText = TextWidget.Cast( m_PlayerTag.FindAnyWidget( "TagText" ) );
1104 }
1105 m_PlayerSpineIndex = m_CurrentTaggedPlayer.GetBoneIndex( "Spine2" );
1106 vector player_pos = m_CurrentTaggedPlayer.GetBonePositionWS( m_PlayerSpineIndex );
1107 vector screen_pos = GetGame().GetScreenPosRelative( player_pos );
1108
1109 if ( screen_pos[2] > 0 )
1110 {
1111 if ( screen_pos[0] > 0 && screen_pos[0] < 1 )
1112 {
1113 if ( screen_pos[1] > 0 && screen_pos[1] < 1 )
1114 {
1115 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() + timeslice * 10, 0, 1 ) );
1116 m_PlayerTag.SetPos( 0.55, 0.55 );
1117 m_PlayerTagText.SetText( m_CurrentTaggedPlayer.GetIdentity().GetPlainName() );
1118
1119 //m_PlayerTagText.SetSize( 1, 1 - screen_pos[2] / 25 );
1120 return;
1121 }
1122 }
1123 }
1124 }
1125
1126 if ( m_PlayerTag )
1127 {
1128 float new_alpha = Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 );
1129 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 ) );
1130 if ( new_alpha == 0 )
1131 {
1132 m_PlayerTagText.SetText( "" );
1133 m_CurrentTaggedPlayer = null;
1134 }
1135 }
1136 }
1137
1138 override void Update( float timeslice )
1139 {
1140 super.Update( timeslice );
1141
1142 m_ActionTargetsCursor.Update();
1143 DisplayPresence();
1144 //
1145 //modifiers - tendency status (critical)
1146 if ( m_BlinkTime > TENDENCY_BLINK_TIME )
1147 {
1148 //get color & alpha
1149 if ( m_TendencyStatusCritical.Count() > 0 )
1150 {
1151 for ( int i = 0; i < m_TendencyStatusCritical.Count(); ++i )
1152 {
1153
1154 ImageWidget widget = m_TendencyStatusCritical.GetKey( i );
1155 int alpha = widget.GetAlpha() * 255;
1156 int color;
1157 int colorA = ARGB( alpha, 255, 255, 255 );
1158 int colorB = m_TendencyStatusCritical.Get( widget );
1159
1160 //set new color to different color
1161 if ( widget.GetColor() == colorA )
1162 {
1163 color = colorB;
1164 }
1165 else
1166 {
1167 color = colorA;
1168 }
1169
1170 widget.SetColor( color );
1171 }
1172 }
1173
1174 m_BlinkTime = 0; //reset
1175 }
1176 else
1177 {
1178 m_BlinkTime += timeslice;
1179 }
1180
1181 if( m_IsTemperatureVisible )
1182 {
1183 m_TemperatureTimer += timeslice;
1184 if( m_TemperatureTimer > m_TemperatureShowTime )
1185 {
1187 }
1188 }
1189
1190 if ( !m_IsStaminaVisible )
1191 {
1192 m_StaminaTimer += timeslice;
1193 if ( m_StaminaTimer > m_StaminaShowTime )
1194 {
1195 SetStaminaBarVisibility( true );
1196 }
1197
1198 }
1199
1200 if ( m_HitDirEffectArray && m_HitDirEffectArray.Count() > 0 )
1201 {
1202 UpdateHitDirEffects(timeslice);
1204 }
1205
1206 RefreshVehicleHud(timeslice);
1207
1208 if (!m_HudVisibility.IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS) && m_HeatBufferUI && m_HeatBufferUI.CanUpdate())
1209 m_HeatBufferUI.Update(timeslice);
1210
1211 #ifdef PLATFORM_PS4
1213 ShowPlayerTag(timeslice);
1214 #endif
1215 }
1216
1217 override void SpawnHitDirEffect(DayZPlayer player, float hit_direction,float intensity_max)
1218 {
1219 if (HitDirectionEffectBase.m_Mode == HitDirectionModes.DISABLED)
1220 {
1221 return;
1222 }
1223
1224 if (m_HitDirEffectArray == null)
1225 {
1226 m_HitDirEffectArray = new array<ref HitDirectionEffectBase>;
1227 }
1229 hiteff.Init(player,hit_direction,intensity_max);
1230 m_HitDirEffectArray.Insert(hiteff);
1231 }
1232
1233 void UpdateHitDirEffects( float timeslice )
1234 {
1235 for (int i = 0; i < m_HitDirEffectArray.Count(); i++)
1236 {
1237 m_HitDirEffectArray[i].Update(timeslice);
1238 }
1239 }
1240
1242 {
1243 for (int i = m_HitDirEffectArray.Count() - 1; i > -1; i--)
1244 {
1245 if ( m_HitDirEffectArray[i].DurationCheck() )
1246 {
1247 m_HitDirEffectArray.Remove(i);
1248 }
1249 }
1250 }
1251
1252 override void InitHeatBufferUI(Man player)
1253 {
1254 m_HeatBufferUI = new IngameHudHeatBuffer(m_HudPanelWidget, PlayerBase.Cast(player));
1255 }
1256
1257 void Debug()
1258 {
1259 foreach (int val:m_BadgesWidgetDisplay)
1260 {
1261 int key = m_BadgesWidgetDisplay.GetKeyByValue(val);
1262 Print(EnumTools.EnumToString(eDisplayElements, key));
1263 Print(val);
1264 Print("---------------------");
1265 }
1266 }
1267
1268//------------------------------------------
1269//ye olde unused methods
1270// everything below is DEPRECATED
1271
1272 protected Widget m_VehiclePanel;
1273 protected Widget m_LeftHudPanelWidget;
1274 protected Widget m_PlayerPanelWidget;
1275 protected Widget m_StancePanel;
1276 protected Widget m_SpecializatonPanel;
1277 protected Widget m_SpecializationIcon;
1278 protected Widget m_BadgeNotifierDivider;
1279 protected bool m_VehicleHudState;
1280 protected bool m_VehicleHudDisabled;
1282 protected bool m_AnyBadgeVisible;
1283 protected bool m_IsQuickbarVisible;
1284 protected bool m_QuickbarHideUI;
1285 protected bool m_QuickbarHidePlayer;
1286 protected bool m_QuickbarState;
1287 protected bool m_HudHideUI;
1288 protected bool m_HudHidePlayer;
1289 protected bool m_HudInventory;
1290 protected bool m_HudState;
1291 protected bool m_IsHudVisible;
1292 protected bool m_Faded;
1293 protected bool m_IsInVehicle;
1295 int m_VehicleGearCount = -1;
1299
1300 //DEPRECATED
1305 void UpdateSpecialtyMeter(float x, float y);
1306 void SetLeftStatsVisibility(bool visible);
1307 bool IsQuickbarVisible(){return false;}
1308 bool IsHideQuickbarPlayer(){return false;}
1309 bool GetQuickBarState(){return false;}
1310 bool IsHudVisible(){return false;}
1311 bool IsHideHudPlayer(){return false;}
1312 bool GetHudState(){return false;}
1313}
const int NTFKEY_LIVES
Definition _constants.c:44
const int NTFKEY_WETNESS
Definition _constants.c:36
const int NTFKEY_POISONED
Definition _constants.c:46
const int NTFKEY_PILLS
Definition _constants.c:47
const int NTFKEY_SICK
Definition _constants.c:40
enum eBadgeLevel NTFKEY_THIRSTY
const int NTFKEY_HUNGRY
Definition _constants.c:34
const int NTFKEY_FRACTURE
Definition _constants.c:37
const int NTFKEY_BLEEDISH
Definition _constants.c:42
const int NTFKEY_LEGS
Definition _constants.c:49
const int NTFKEY_FEVERISH
Definition _constants.c:39
const int NTFKEY_STUFFED
Definition _constants.c:41
Widget m_QuickbarWidget
Definition inventory.c:34
ref InventoryQuickbar m_Quickbar
Definition inventory.c:32
Definition carhud.c:3
Super root of all classes in Enforce script.
Definition enscript.c:11
void RefreshVehicleHud(float timeslice)
Definition ingamehud.c:841
void RefreshVehicleHudVisibility()
ref WidgetFadeTimer m_FadeTimerWalkieTalkieText
Definition ingamehud.c:57
bool IsHudVisible()
Definition ingamehud.c:1310
Widget m_StaminaBackground
Definition ingamehud.c:60
ref array< ref HitDirectionEffectBase > m_HitDirEffectArray
Definition ingamehud.c:110
bool m_VehicleHudDisabled
Definition ingamehud.c:1280
TextWidget m_PlayerTagText
Definition ingamehud.c:118
float m_StaminaTimer
Definition ingamehud.c:24
bool m_HudState
Definition ingamehud.c:1290
void ShowPlayerTag(float timeslice)
Definition ingamehud.c:1096
Widget m_PlayerTag
Definition ingamehud.c:117
TextWidget m_ActionItemDesc
Definition ingamehud.c:85
ref IngameHudHeatBuffer m_HeatBufferUI
Definition ingamehud.c:112
bool m_VehicleHudState
Definition ingamehud.c:1279
override void HideVehicleInfo()
Definition ingamehud.c:829
void SetLeftStatsVisibility(bool visible)
TextWidget m_ActionButtonText
Definition ingamehud.c:92
ref map< ImageWidget, int > m_TendencyStatusCritical
Definition ingamehud.c:10
ref array< VehicleHudBase > m_VehicleHudArray
Definition ingamehud.c:1294
void RefreshHudVisibility()
bool m_ZeroingKeyPressed
Definition ingamehud.c:102
override void ShowVehicleInfo()
Definition ingamehud.c:809
override void SetTemperature(string temp)
Definition ingamehud.c:627
override void DisplayNotifier(int key, int tendency, int status)
Definition ingamehud.c:444
ref map< int, string > m_StatesWidgetNames
Definition ingamehud.c:7
override void OnResizeScreen()
Definition ingamehud.c:337
bool m_QuickbarState
Definition ingamehud.c:1286
int m_PlayerSpineIndex
Definition ingamehud.c:115
TextWidget m_ActionDesc
Definition ingamehud.c:84
float m_BlinkTime
Definition ingamehud.c:12
override void DisplayBadge(int key, int value)
Definition ingamehud.c:581
Widget m_WalkieTalkie
Definition ingamehud.c:81
void Debug()
Definition ingamehud.c:1257
Widget m_CursorWidget
Definition ingamehud.c:79
override void ShowHudPlayer(bool show)
Definition ingamehud.c:900
bool m_IsInVehicle
Definition ingamehud.c:1293
ref InventoryQuickbar m_Quickbar
Definition ingamehud.c:30
bool m_QuickbarHidePlayer
Definition ingamehud.c:1285
override void ShowHud(bool show)
Definition ingamehud.c:924
Widget m_ActionTarget
Definition ingamehud.c:97
Widget m_VehicleHudPanels
Definition ingamehud.c:29
Widget m_PlayerPanelWidget
Definition ingamehud.c:1274
TextWidget m_BloodPosType
Definition ingamehud.c:44
override void ShowHudInventory(bool show)
Definition ingamehud.c:912
override void ShowWalkieTalkie(int fadeOutSeconds)
Definition ingamehud.c:382
Widget m_PresenceLevel1
Definition ingamehud.c:68
ImageWidget m_LowServerPerfA
Definition ingamehud.c:38
void ShowVehicleHud(bool state)
enter/exit driver seat
Definition ingamehud.c:931
ref WidgetFadeTimer m_FadeTimerActionCursor
Definition ingamehud.c:48
bool m_VehicleHasCoolant
Definition ingamehud.c:1298
Widget m_ActionQuantityBox
Definition ingamehud.c:89
override void SetCursorIcon(string icon)
Definition ingamehud.c:398
bool m_AnyBadgeVisible
Definition ingamehud.c:1282
ref WidgetFadeTimer m_FadeTimerWeaponName
Definition ingamehud.c:53
float m_TimeSinceLastEngineLightChange
Definition ingamehud.c:1296
Widget m_SpecializationIcon
Definition ingamehud.c:1277
ImageWidget m_PermanentCrossHair
Definition ingamehud.c:101
Widget m_RadialProgressBarCrossHair
Definition ingamehud.c:77
override void UpdateBloodName()
Definition ingamehud.c:1028
override void ShowWalkieTalkie(bool show)
Definition ingamehud.c:375
Widget m_ActionMultipleItemsFrame
Definition ingamehud.c:95
bool m_VehicleHasOil
Definition ingamehud.c:1297
override void Init(Widget hud_panel_widget)
Definition ingamehud.c:143
Widget m_Presence
Definition ingamehud.c:61
ref map< int, ImageWidget > m_BadgesWidgets
Definition ingamehud.c:17
override void ShowHudUI(bool show)
Definition ingamehud.c:906
override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
Definition ingamehud.c:942
Widget m_PresenceLevel0
Definition ingamehud.c:67
void RefreshPlayerTags()
Definition ingamehud.c:1056
Widget m_HudPanelWidget
Definition ingamehud.c:27
bool GetHudState()
Definition ingamehud.c:1312
TextWidget m_BloodType
Definition ingamehud.c:43
void UpdateSpecialtyMeter(float x, float y)
override void HideCursor()
Definition ingamehud.c:414
ref WidgetFadeTimer m_FadeTimerZeroingOld
Definition ingamehud.c:51
bool IsHideHudPlayer()
Definition ingamehud.c:1311
ImageWidget m_ConnectionLost
Definition ingamehud.c:40
override void DisplayStance(int stance)
Definition ingamehud.c:731
Widget m_StancePanel
Definition ingamehud.c:1275
bool m_IsTemperatureVisible
Definition ingamehud.c:18
Widget m_HitIndicatorLeft
Definition ingamehud.c:106
ImageWidget m_HighPingB
Definition ingamehud.c:37
void OnConnectionIconsSettingsChanged(bool enabled)
Definition ingamehud.c:332
Widget m_PresenceLevel3
Definition ingamehud.c:70
ref map< int, int > m_BadgesSupportedLevels
Definition ingamehud.c:15
Widget m_MouseContinuousAction
Definition ingamehud.c:75
ref map< int, int > m_BadgesWidgetDisplay
Definition ingamehud.c:16
bool m_HudHideUI
Definition ingamehud.c:1287
bool m_IsVehicleHudVisible
Definition ingamehud.c:1281
Widget m_QuickbarWidget
Definition ingamehud.c:28
void ZeroingKeyPress()
Definition ingamehud.c:726
IngameHudVisibility GetHudVisibility()
Definition ingamehud.c:873
TextWidget m_ActionQuantityBoxText
Definition ingamehud.c:90
void OnUnconsciousStop()
Definition ingamehud.c:364
ActionTargetsCursor m_ActionTargetsCursor
Definition ingamehud.c:98
Widget m_ActionWidget
Definition ingamehud.c:83
ref IngameHudVisibility m_HudVisibility
Definition ingamehud.c:113
override void SetCursorIconScale(string type, float percentage)
Definition ingamehud.c:419
Widget m_StanceStandWalk
Definition ingamehud.c:64
void HideTemperature()
Definition ingamehud.c:637
ref map< int, string > m_BadgesWidgetNames
Definition ingamehud.c:14
void SetStomachState(int state)
Definition ingamehud.c:669
Widget m_RadialProgressBar
Definition ingamehud.c:78
void HideQuickbarTimer()
bool m_QuickbarHideUI
Definition ingamehud.c:1284
Widget m_HitIndicatorSingle
Definition ingamehud.c:108
Widget m_StanceStand
Definition ingamehud.c:63
Widget m_BadgeNotifierDivider
Definition ingamehud.c:1278
void IngameHud()
Definition ingamehud.c:120
override void ShowQuickbarPlayer(bool show)
Definition ingamehud.c:894
Widget m_StanceCar
Definition ingamehud.c:66
override void DisplayPresence()
Definition ingamehud.c:773
void DisplayTendencyTemp(int key, int tendency, int status)
Definition ingamehud.c:517
ImageWidget m_CursorIcon
Definition ingamehud.c:80
ref map< int, ImageWidget > m_StatesWidgets
Definition ingamehud.c:8
ProgressBarWidget m_ActionQuantityBar
Definition ingamehud.c:88
ImageWidget m_LowServerPerfB
Definition ingamehud.c:39
void InitQuickbar()
Definition ingamehud.c:860
void UpdateHitDirEffects(float timeslice)
Definition ingamehud.c:1233
void SetVehicleHudDisabled(bool state)
disable vehicle HUD through options menu
Definition ingamehud.c:937
ref WidgetFadeTimer m_FadeTimerWeaponStats
Definition ingamehud.c:54
Widget m_MouseSingleAction
Definition ingamehud.c:74
ref WidgetFadeTimer m_FadeTimerMagazineName
Definition ingamehud.c:52
void DisplayTendencyNormal(int key, int tendency, int status)
Definition ingamehud.c:483
Widget m_SpecializatonPanel
Definition ingamehud.c:1276
override void ShowQuickbarUI(bool show)
Definition ingamehud.c:888
bool m_HudHidePlayer
Definition ingamehud.c:1288
bool m_IsStaminaVisible
Definition ingamehud.c:23
override void SetStamina(int value, int range)
Definition ingamehud.c:675
Widget m_PresenceLevel2
Definition ingamehud.c:69
ref WidgetFadeTimer m_FadeTimerQuickbar
Definition ingamehud.c:55
Widget m_HitIndicatorDown
Definition ingamehud.c:105
Widget m_Badges
Definition ingamehud.c:45
override void SetCursorIconOffset(string type, float x, float y)
Definition ingamehud.c:426
InventoryQuickbar GetQuickbar()
Definition ingamehud.c:868
ref WidgetFadeTimer m_FadeTimerCrosshair
Definition ingamehud.c:47
ProgressBarWidget m_Stamina
Definition ingamehud.c:59
ImageWidget m_HeatBufferPlus
Definition ingamehud.c:21
float m_TemperatureTimer
Definition ingamehud.c:19
ImageWidget m_ActionIcon
Definition ingamehud.c:91
bool m_HudInventory
Definition ingamehud.c:1289
Widget GetHudPanelWidget()
Definition ingamehud.c:1023
bool IsQuickbarVisible()
Definition ingamehud.c:1307
bool m_IsHudVisible
Definition ingamehud.c:1291
override void ShowQuickBar(bool show)
global setting -> used to determine visibility based on platform
Definition ingamehud.c:918
void OnUnconsciousStart()
Definition ingamehud.c:359
Widget m_PresenceLevel4
Definition ingamehud.c:71
ref map< string, ref VehicleHudBase > m_VehicleHudMap
Definition ingamehud.c:33
VehicleHudBase m_ActiveVehicleHUD
Definition ingamehud.c:32
Widget m_RadialProgressBar1
Definition ingamehud.c:76
bool m_Faded
Definition ingamehud.c:1292
Widget m_VehiclePanel
Definition ingamehud.c:1272
override void ShowCursor()
Definition ingamehud.c:409
override void RefreshQuickbar(bool itemChanged=false)
Definition ingamehud.c:994
ref Timer myTimer
Definition ingamehud.c:72
override void InitHeatBufferUI(Man player)
Definition ingamehud.c:1252
ref WidgetFadeTimer m_FadeTimerWalkieTalkie
Definition ingamehud.c:56
Widget m_StanceProne
Definition ingamehud.c:62
Widget m_GameStatusIconsPanel
Definition ingamehud.c:35
override void SetStaminaBarVisibility(bool show)
Definition ingamehud.c:647
Widget m_HitIndicatorRight
Definition ingamehud.c:107
bool m_IsQuickbarVisible
Definition ingamehud.c:1283
void InitBadgesAndNotifiers()
Definition ingamehud.c:242
override void Show(bool show)
Definition ingamehud.c:370
override void Update(float timeslice)
Definition ingamehud.c:1138
override void OnPlayerLoaded()
Definition ingamehud.c:346
Widget m_LeftHudPanelWidget
Definition ingamehud.c:1273
void RefreshQuickbarVisibility()
bool IsHideQuickbarPlayer()
Definition ingamehud.c:1308
override void SpawnHitDirEffect(DayZPlayer player, float hit_direction, float intensity_max)
Definition ingamehud.c:1217
PlayerBase m_CurrentTaggedPlayer
Definition ingamehud.c:116
ImageWidget m_HighPingA
Definition ingamehud.c:36
Widget m_ActionIconFrame
Definition ingamehud.c:94
void CleanupHitDirEffects()
Definition ingamehud.c:1241
Widget m_StanceCrouch
Definition ingamehud.c:65
override void UpdateQuickbarGlobalVisibility()
Definition ingamehud.c:878
Widget m_HitIndicatorUp
Definition ingamehud.c:104
bool KeyPress(int key)
Definition ingamehud.c:721
override void SetWalkieTalkieText(string text)
Definition ingamehud.c:391
Widget m_Notifiers
Definition ingamehud.c:42
bool GetQuickBarState()
Definition ingamehud.c:1309
override void SetCursorIconSize(string type, float x, float y)
Definition ingamehud.c:431
ref Timer m_HideTimer
Definition ingamehud.c:46
ImageWidget m_ActionHealthMark
Definition ingamehud.c:87
void SetSize(int x, int y)
Definition icon.c:1067
Definition enmath.c:7
Native class for boats - handles physics simulation.
Definition boat.c:28
void HideVehicleInfo()
void RefreshVehicleHud(float timeslice)
void ShowVehicleInfo(PlayerBase player)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZGame g_Game
Definition dayzgame.c:3868
DayZGame GetDayZGame()
Definition dayzgame.c:3870
ref Timer m_Timer
Definition dayzgame.c:705
Mission mission
EDayZProfilesOptions
EConnectivityStatType
proto native CGame GetGame()
HitDirectionModes
Definition constants.c:98
void Error(string err)
Messagebox with error message.
Definition endebug.c:90
proto void Print(void var)
Prints content of variable to console/log.
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Definition enscript.c:339
const int MENU_INVENTORY
Definition constants.c:180
const int CALL_CATEGORY_GAMEPLAY
Definition tools.c:10
Icon x
Icon y
void InventoryMenu()
PlayerBase GetPlayer()
ref array< ref NotifierBase > m_Notifiers
ref map< PlayerBase, int > m_BloodType
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
class StaminaSoundHandlerBase extends SoundHandlerBase m_Stamina