Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
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
30 protected ref InventoryQuickbar m_Quickbar;
31
34
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
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;
61 protected Widget m_Presence;
72 protected ref Timer myTimer; //TEMP
80 protected ImageWidget m_CursorIcon;
82
86 protected Widget m_ActionItemQuantityWrapper
87 protected ImageWidget m_ActionHealthMark;
88 protected ProgressBarWidget m_ActionQuantityBar;
91 protected ImageWidget m_ActionIcon;
93
96
99
100 // CrossHairs
101 protected ImageWidget m_PermanentCrossHair;
102 protected bool m_ZeroingKeyPressed;
103
109
111
113 protected ref IngameHudVisibility m_HudVisibility;
114
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
130
132
133 m_BadgesWidgets = new map<int, ImageWidget>; // [key] widgetName
137
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
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");
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(g_Game.GetMission()).GetConnectivityInvoker().Insert(OnConnectionIconsSettingsChanged);
238 m_GameStatusIconsPanel.Show(g_Game.GetProfileOption(EDayZProfilesOptions.CONNECTIVITY_INFO));
239 //ShowQuickBar(g_Game.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_HEALTHY, "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();
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
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(g_Game.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 {
379 m_WalkieTalkie.Show( show );
380 }
381
382 override void ShowWalkieTalkie( int fadeOutSeconds )
383 {
384 m_WalkieTalkie.Show(true);
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 {
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 );
635 }
636
638 {
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( "" );
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 (!g_Game.IsMultiplayer())
700 {
701 if (g_Game.GetPlayer())
702 {
703 PlayerBase player;
704 Class.CastTo(player, g_Game.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, g_Game.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, g_Game.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(g_Game.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 {
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 = g_Game.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
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(g_Game.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 = g_Game.GetUIManager();
1002
1003 InventoryMenu inventory = InventoryMenu.Cast(manager.FindMenu( MENU_INVENTORY ));
1004 MissionGameplay mission = MissionGameplay.Cast(g_Game.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, g_Game.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( g_Game.GetPlayer() )
1059 {
1060 bool found = false;
1061 vector head_pos = g_Game.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 != g_Game.GetPlayer() )
1071 {
1072 vector screen_pos = g_Game.GetScreenPosRelative( target_player );
1073 vector end_pos = head_pos + g_Game.GetCurrentCameraDirection() * 25;
1074 RaycastRVParams params = new RaycastRVParams( head_pos, end_pos, g_Game.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 = g_Game.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 = g_Game.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();
1144 //
1145 //modifiers - tendency status (critical)
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
1182 {
1183 m_TemperatureTimer += timeslice;
1185 {
1187 }
1188 }
1189
1190 if ( !m_IsStaminaVisible )
1191 {
1192 m_StaminaTimer += timeslice;
1194 {
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_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 {
1220 {
1221 return;
1222 }
1223
1224 if (m_HitDirEffectArray == null)
1225 {
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 {
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
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;
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_HEALTHY
Definition _constants.c:38
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
static string GetBloodTypeName(int bloodtype, out string type, out bool positive)
Definition bloodtype.c:89
Base script class for cars.
Definition carscript.c:171
Definition carhud.c:3
static float GetStaminaMax()
Super root of all classes in Enforce script.
Definition enscript.c:11
static ref array< Man > m_PlayerBaseList
Definition clientdata.c:7
const string None
Definition gameplay.c:592
static proto bool RaycastRVProxy(notnull RaycastRVParams in, out notnull array< ref RaycastRVResult > results, array< Object > excluded=null)
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Definition enconvert.c:614
void Init(DayZPlayer player, float hit_direction, float intensity_max)
Called manually after object spawn.
ref WidgetFadeTimer m_FadeTimerWeaponName
Definition ingamehud.c:53
override void DisplayBadge(int key, int value)
Definition ingamehud.c:581
bool m_IsTemperatureVisible
Definition ingamehud.c:18
void SetVehicleHudDisabled(bool state)
disable vehicle HUD through options menu
Definition ingamehud.c:937
ImageWidget m_CursorIcon
Definition ingamehud.c:80
ref WidgetFadeTimer m_FadeTimerCrosshair
Definition ingamehud.c:47
ImageWidget m_ActionHealthMark
Definition ingamehud.c:87
Widget m_RadialProgressBarCrossHair
Definition ingamehud.c:77
ref map< string, ref VehicleHudBase > m_VehicleHudMap
Definition ingamehud.c:33
void SetLeftStatsVisibility(bool visible)
override void SetCursorIconOffset(string type, float x, float y)
Definition ingamehud.c:426
override void InitHeatBufferUI(Man player)
Definition ingamehud.c:1252
override void ShowVehicleInfo()
Definition ingamehud.c:809
bool m_IsStaminaVisible
Definition ingamehud.c:23
Widget m_CursorWidget
Definition ingamehud.c:79
override void ShowQuickbarUI(bool show)
Definition ingamehud.c:888
Widget m_QuickbarWidget
Definition ingamehud.c:28
override void Update(float timeslice)
Definition ingamehud.c:1138
Widget m_StanceStandWalk
Definition ingamehud.c:64
Widget m_Badges
Definition ingamehud.c:45
PlayerBase m_CurrentTaggedPlayer
Definition ingamehud.c:116
Widget m_ActionQuantityBox
Definition ingamehud.c:89
void IngameHud()
Definition ingamehud.c:120
void ZeroingKeyPress()
Definition ingamehud.c:726
Widget m_HitIndicatorUp
Definition ingamehud.c:104
override void UpdateQuickbarGlobalVisibility()
Definition ingamehud.c:878
ref InventoryQuickbar m_Quickbar
Definition ingamehud.c:30
override void ShowWalkieTalkie(bool show)
Definition ingamehud.c:375
ImageWidget m_ConnectionLost
Definition ingamehud.c:40
Widget m_RadialProgressBar
Definition ingamehud.c:78
const float FADE_IN_TIME
Definition ingamehud.c:3
bool KeyPress(int key)
Definition ingamehud.c:721
ImageWidget m_HighPingA
Definition ingamehud.c:36
ref WidgetFadeTimer m_FadeTimerQuickbar
Definition ingamehud.c:55
override void OnResizeScreen()
Definition ingamehud.c:337
ref WidgetFadeTimer m_FadeTimerActionCursor
Definition ingamehud.c:48
Widget m_SpecializationIcon
Definition ingamehud.c:1277
Widget m_Notifiers
Definition ingamehud.c:42
bool m_QuickbarHidePlayer
Definition ingamehud.c:1285
override void SetTemperature(string temp)
Definition ingamehud.c:627
bool m_VehicleHasOil
Definition ingamehud.c:1297
ref WidgetFadeTimer m_FadeTimerWeaponStats
Definition ingamehud.c:54
Widget m_VehicleHudPanels
Definition ingamehud.c:29
bool m_IsVehicleHudVisible
Definition ingamehud.c:1281
void ShowVehicleHud(bool state)
enter/exit driver seat
Definition ingamehud.c:931
Widget m_StanceCrouch
Definition ingamehud.c:65
void OnUnconsciousStop()
Definition ingamehud.c:364
ref WidgetFadeTimer m_FadeTimerWalkieTalkieText
Definition ingamehud.c:57
float m_TimeSinceLastEngineLightChange
Definition ingamehud.c:1296
void CleanupHitDirEffects()
Definition ingamehud.c:1241
override void Init(Widget hud_panel_widget)
Definition ingamehud.c:143
ImageWidget m_HeatBufferPlus
Definition ingamehud.c:21
void UpdateHitDirEffects(float timeslice)
Definition ingamehud.c:1233
bool m_HudHideUI
Definition ingamehud.c:1287
ref map< int, string > m_StatesWidgetNames
Definition ingamehud.c:7
Widget m_MouseSingleAction
Definition ingamehud.c:74
bool m_VehicleHudDisabled
Definition ingamehud.c:1280
Widget m_PresenceLevel2
Definition ingamehud.c:69
ImageWidget m_ActionIcon
Definition ingamehud.c:91
void HideTemperature()
Definition ingamehud.c:637
Widget m_RadialProgressBar1
Definition ingamehud.c:76
void RefreshHudVisibility()
Widget m_SpecializatonPanel
Definition ingamehud.c:1276
ImageWidget m_LowServerPerfB
Definition ingamehud.c:39
float m_TemperatureTimer
Definition ingamehud.c:19
Widget GetHudPanelWidget()
Definition ingamehud.c:1023
void DisplayTendencyNormal(int key, int tendency, int status)
Definition ingamehud.c:483
Widget m_WalkieTalkie
Definition ingamehud.c:81
bool m_VehicleHudState
Definition ingamehud.c:1279
TextWidget m_ActionButtonText
Definition ingamehud.c:92
bool IsHudVisible()
Definition ingamehud.c:1310
void HideQuickbarTimer()
void RefreshPlayerTags()
Definition ingamehud.c:1056
override void DisplayPresence()
Definition ingamehud.c:773
ref WidgetFadeTimer m_FadeTimerWalkieTalkie
Definition ingamehud.c:56
bool m_Faded
Definition ingamehud.c:1292
ref map< int, int > m_BadgesSupportedLevels
Definition ingamehud.c:15
ImageWidget m_PermanentCrossHair
Definition ingamehud.c:101
float m_StaminaTimer
Definition ingamehud.c:24
const float HIDE_MENU_TIME
Definition ingamehud.c:5
ActionTargetsCursor m_ActionTargetsCursor
Definition ingamehud.c:98
override void ShowHudInventory(bool show)
Definition ingamehud.c:912
ref array< VehicleHudBase > m_VehicleHudArray
Definition ingamehud.c:1294
override void RefreshQuickbar(bool itemChanged=false)
Definition ingamehud.c:994
void OnUnconsciousStart()
Definition ingamehud.c:359
void ShowQuickBar(bool show)
float m_BlinkTime
Definition ingamehud.c:12
override void ShowQuickbarPlayer(bool show)
Definition ingamehud.c:894
override void SetCursorIconSize(string type, float x, float y)
Definition ingamehud.c:431
Widget m_MouseContinuousAction
Definition ingamehud.c:75
const float TENDENCY_BLINK_TIME
Definition ingamehud.c:11
Widget m_StancePanel
Definition ingamehud.c:1275
void ShowPlayerTag(float timeslice)
Definition ingamehud.c:1096
IngameHudVisibility GetHudVisibility()
Definition ingamehud.c:873
void DisplayTendencyTemp(int key, int tendency, int status)
Definition ingamehud.c:517
bool IsQuickbarVisible()
Definition ingamehud.c:1307
override void ShowQuickBar(bool show)
global setting -> used to determine visibility based on platform
Definition ingamehud.c:918
Widget m_HudPanelWidget
Definition ingamehud.c:27
void UpdateSpecialtyMeter(float x, float y)
bool GetHudState()
Definition ingamehud.c:1312
ref map< int, string > m_BadgesWidgetNames
Definition ingamehud.c:14
Widget m_StanceProne
Definition ingamehud.c:62
Widget m_StaminaBackground
Definition ingamehud.c:60
override void DisplayNotifier(int key, int tendency, int status)
Definition ingamehud.c:444
ref map< int, int > m_BadgesWidgetDisplay
Definition ingamehud.c:16
bool m_HudState
Definition ingamehud.c:1290
bool m_AnyBadgeVisible
Definition ingamehud.c:1282
bool m_IsHudVisible
Definition ingamehud.c:1291
void OnConnectionIconsSettingsChanged(bool enabled)
Definition ingamehud.c:332
void ShowHudPlayer(bool show)
override void SetWalkieTalkieText(string text)
Definition ingamehud.c:391
override void Show(bool show)
Definition ingamehud.c:370
Widget m_StanceCar
Definition ingamehud.c:66
override void ShowHudPlayer(bool show)
Definition ingamehud.c:900
override void SetStaminaBarVisibility(bool show)
Definition ingamehud.c:647
int m_PlayerSpineIndex
Definition ingamehud.c:115
ProgressBarWidget m_Stamina
Definition ingamehud.c:59
ref Timer m_HideTimer
Definition ingamehud.c:46
Widget m_LeftHudPanelWidget
Definition ingamehud.c:1273
override void ShowHudUI(bool show)
Definition ingamehud.c:906
ImageWidget m_HighPingB
Definition ingamehud.c:37
override void HideVehicleInfo()
Definition ingamehud.c:829
Widget m_GameStatusIconsPanel
Definition ingamehud.c:35
ref map< int, ImageWidget > m_StatesWidgets
Definition ingamehud.c:8
InventoryQuickbar GetQuickbar()
Definition ingamehud.c:868
TextWidget m_BloodType
Definition ingamehud.c:43
bool IsHideHudPlayer()
Definition ingamehud.c:1311
int m_VehicleGearCount
Definition ingamehud.c:1295
TextWidget m_PlayerTagText
Definition ingamehud.c:118
override void ShowCursor()
Definition ingamehud.c:409
Widget m_ActionTarget
Definition ingamehud.c:97
Widget m_BadgeNotifierDivider
Definition ingamehud.c:1278
override void SpawnHitDirEffect(DayZPlayer player, float hit_direction, float intensity_max)
Definition ingamehud.c:1217
Widget m_ActionMultipleItemsFrame
Definition ingamehud.c:95
ref map< int, ImageWidget > m_BadgesWidgets
Definition ingamehud.c:17
Widget m_PresenceLevel3
Definition ingamehud.c:70
void RefreshQuickbarVisibility()
Widget m_HitIndicatorDown
Definition ingamehud.c:105
Widget m_PlayerPanelWidget
Definition ingamehud.c:1274
Widget m_Presence
Definition ingamehud.c:61
Widget m_HitIndicatorSingle
Definition ingamehud.c:108
void SetStomachState(int state)
Definition ingamehud.c:669
Widget m_ActionIconFrame
Definition ingamehud.c:94
override void HideCursor()
Definition ingamehud.c:414
const float FADE_OUT_TIME
Definition ingamehud.c:4
override void ShowHud(bool show)
Definition ingamehud.c:924
override void SetCursorIconScale(string type, float percentage)
Definition ingamehud.c:419
ref array< ref WidgetFadeTimer > m_FadeTimers
Definition ingamehud.c:73
bool m_ZeroingKeyPressed
Definition ingamehud.c:102
bool m_IsQuickbarVisible
Definition ingamehud.c:1283
float m_TemperatureShowTime
Definition ingamehud.c:20
bool m_IsInVehicle
Definition ingamehud.c:1293
override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
Definition ingamehud.c:942
bool m_QuickbarState
Definition ingamehud.c:1286
ref IngameHudHeatBuffer m_HeatBufferUI
Definition ingamehud.c:112
void RefreshVehicleHud(float timeslice)
Definition ingamehud.c:841
ref map< ImageWidget, int > m_TendencyStatusCritical
Definition ingamehud.c:10
void DisplayPresence()
Definition gameplay.c:645
bool m_QuickbarHideUI
Definition ingamehud.c:1284
bool m_HudHidePlayer
Definition ingamehud.c:1288
Widget m_PresenceLevel4
Definition ingamehud.c:71
float m_StaminaShowTime
Definition ingamehud.c:25
ref WidgetFadeTimer m_FadeTimerMagazineName
Definition ingamehud.c:52
Widget m_HitIndicatorRight
Definition ingamehud.c:107
Widget m_StanceStand
Definition ingamehud.c:63
override void SetStamina(int value, int range)
Definition ingamehud.c:675
ref array< ref HitDirectionEffectBase > m_HitDirEffectArray
Definition ingamehud.c:110
void RefreshVehicleHudVisibility()
bool m_HudInventory
Definition ingamehud.c:1289
void ShowHud(bool show)
Widget m_HitIndicatorLeft
Definition ingamehud.c:106
Widget m_PresenceLevel0
Definition ingamehud.c:67
void InitBadgesAndNotifiers()
Definition ingamehud.c:242
ref IngameHudVisibility m_HudVisibility
Definition ingamehud.c:113
ref WidgetFadeTimer m_FadeTimerZeroingOld
Definition ingamehud.c:51
ref Timer m_Timer
Definition gameplay.c:639
TextWidget m_BloodPosType
Definition ingamehud.c:44
TextWidget m_ActionDesc
Definition ingamehud.c:84
void Debug()
Definition ingamehud.c:1257
ImageWidget m_LowServerPerfA
Definition ingamehud.c:38
override void ShowWalkieTalkie(int fadeOutSeconds)
Definition ingamehud.c:382
ProgressBarWidget m_ActionQuantityBar
Definition ingamehud.c:88
VehicleHudBase m_ActiveVehicleHUD
Definition ingamehud.c:32
Widget m_PlayerTag
Definition ingamehud.c:117
Widget m_ActionWidget
Definition ingamehud.c:83
override void UpdateBloodName()
Definition ingamehud.c:1028
TextWidget m_ActionItemDesc
Definition ingamehud.c:85
ref Timer myTimer
Definition ingamehud.c:72
Widget m_PresenceLevel1
Definition ingamehud.c:68
Widget m_VehiclePanel
Definition ingamehud.c:1272
override void DisplayStance(int stance)
Definition ingamehud.c:731
bool m_VehicleHasCoolant
Definition ingamehud.c:1298
bool GetQuickBarState()
Definition ingamehud.c:1309
bool IsHideQuickbarPlayer()
Definition ingamehud.c:1308
TextWidget m_ActionQuantityBoxText
Definition ingamehud.c:90
override void OnPlayerLoaded()
Definition ingamehud.c:346
override void SetCursorIcon(string icon)
Definition ingamehud.c:398
void SetPermanentCrossHair(bool show)
Definition gameplay.c:677
void InitQuickbar()
Definition ingamehud.c:860
void SetStaminaBarVisibility(bool show)
proto native Transport GetTransport()
Definition enmath.c:7
Input parameters for RaycastRVProxy function.
Definition dayzphysics.c:50
bool sorted
used only if groundOnly = false
Definition dayzphysics.c:75
Native class for boats - handles physics simulation.
Definition boat.c:32
UIScriptedMenu FindMenu(int id)
Returns menu with specific ID if it is open (see MenuID).
Definition uimanager.c:160
void ShowVehicleInfo(PlayerBase player)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Object obj
Object inside of box.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
DayZGame g_Game
Definition dayzgame.c:3942
DayZGame GetDayZGame()
Definition dayzgame.c:3944
Mission mission
EDayZProfilesOptions
EConnectivityStatType
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.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Definition enscript.c:339
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto int AbsInt(int i)
Returns absolute value.
const int MENU_INVENTORY
Definition constants.c:180
proto native int Length()
Returns length of string.
const int CALL_CATEGORY_GAMEPLAY
Definition tools.c:10
Icon x
Icon y
void InventoryMenu()
int ARGB(int a, int r, int g, int b)
Definition proto.c:322